scan camera
来源:互联网 发布:java log日志打印 编辑:程序博客网 时间:2024/05/22 05:05
getIPListByIPMask.py
#coding=utf-8#http://ipblock.chacuo.net/down/t_txt=c_CNfrom multiprocessing.dummy import Pool as ThreadPoolimport re,datetime# 生成下一次循环的边界条件def ip2num(ip): ip=[int(x) for x in ip.split('.')] return ip[0] <<24 | ip[1]<<16 | ip[2]<<8 |ip[3]def num2ip(num): return '%s.%s.%s.%s' %( (num & 0xff000000) >>24, (num & 0x00ff0000) >>16, (num & 0x0000ff00) >>8, num & 0x000000ff )def get_ip(ip): start,end = [ip2num(x) for x in ip.split('-') ] return [ num2ip(num) for num in range(start,end+1) if num & 0xff ]def gen_ip(ip_range): iplist = get_ip(ip_range) filename = re.sub(r'[^0-9]', '',str(datetime.datetime.now())) + '.txt' with open(filename, "a+") as wObej: for ip in iplist: print (ip) wObej.write(ip + "\n") wObej.close()if __name__ == '__main__': ip_ranges=[] with open("zh_IP.txt", "r") as f: for line in f.readlines(): lineList = line.split("\t") iP_mask = lineList[0] + "-" + lineList[1] ip_ranges.append(iP_mask) f.close print("strart gen ip") pool = ThreadPool(processes=4) results = pool.map(gen_ip, ip_ranges) pool.close() pool.join()
554Scan.py
# coding: utf-8import socketfrom datetime import datetimefrom multiprocessing.dummy import Pool as ThreadPooldef scan_port(ip,port=554): try: s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.settimeout(5) remote_server_ip = socket.gethostbyname(ip) print '-' * 60 print 'Please wait, scanning remote host %s port %s'%( remote_server_ip,port) print '-' * 60 res = s.connect_ex((remote_server_ip,port)) if res == 0: # 如果端口开启 发送 hello 获取banner with open("554IP.txt","a+") as f : f.write(ip+"\n") f.close() try: s.send('hello') banner = s.recv(1024) except Exception,e: print 'Port {}: OPEN'.format(port) print str(e.message) else: print 'Port {}: OPEN'.format(port) print 'Banner {}'.format(banner) s.close() except Exception,e: print str(e.message)# Check what time the scan startedt1 = datetime.now()pool = ThreadPool(processes = 2)ipList=[]with open("netwave.txt","r") as f: for line in f.readlines(): ipList.append(line.strip("\n"))print("*test ip %d num "%len(ipList))results = pool.map(scan_port,ipList)pool.close()pool.join()print 'Multiprocess Scanning Completed in ', datetime.now() - t1
scan_camera.py
#coding=utf-8#http://86.254.95.226:81/get_status.cgi 判断摄像头#/get_camera_params.cgi#/snapshot.cgi#/videostream.cgi# coding: utf-8import requestsfrom datetime import datetimefrom multiprocessing.dummy import Pool as ThreadPoolimport socketimport redef check_webserver(address, port): request_string = "GET / HTTP/1.1\r\nHost: %s\r\n\r\n" %address # print 'HTTP request:' # print '|||%s|||' % request_string s = socket.socket() s.settimeout(15) print "Attempting to connect to %s on port %s" %(address, port) try: s.connect((address, port)) s.send(request_string) rsp = s.recv(1024) except socket.error, e: print "Connection to %s on port %s failed: %s" %(address, port, e) return False finally: print "Closing the connection" s.close() try: locationList = re.findall("Location: (.*)", rsp) location="/" if len(locationList)!=0: location +=locationList[0].strip("\r\n").split("/")[-1] print("Locatin : %s"% location) except: pass try: lines = rsp.splitlines() print 'First line of HTTP response: %s' % lines[0] version, status, message = re.split(r'\s+', lines[0], 2) print 'Version: %s, Stuats: %s, Message: %s' %(version, status, message) except ValueError: print 'Failed to split status line' return False if status in ['200', '302',"401"]: print 'Success - status was %s' %status with open("camera_IP.txt", "a+") as f: f.write(address + ":" + str(port) + location+"\n") f.close() return True else: print 'Staus was %s' %status return Falsedef scan_camera(ipPort): splitData = ipPort.split(":") ip = splitData[0] port = int(splitData[1]) if check_webserver(ip,port): print"######"*25# Check what time the scan startedt1 = datetime.now()ipList=[]with open("netwave.txt","r") as f: for line in f.readlines(): ipList.append(line.strip("\n"))print("test")ports=[] for i in range(80,49152): ports.append(i)def getIpPortList(ipList,port): mIpPortList = [] for ip in ipList: mIpPortList.append(ip+":"+str(port)) return mIpPortListfor port in ports: ipPortList=getIpPortList(ipList,port) pool = ThreadPool(processes = 8) results = pool.map(scan_camera,ipPortList) pool.close() pool.join()print 'Multiprocess Scanning Completed in ', datetime.now() - t1
阅读全文
0 0
- scan camera
- scan
- Scan
- camera
- Camera
- camera
- Camera
- Camera
- camera
- camera
- Camera
- camera
- Camera
- Camera
- Camera
- camera
- camera
- camera
- anaconda下安装库出现UnsatisfiableError问题的解决办法
- springboot:如何优雅的使用mybatis
- 【十九】机器学习之路——朴素贝叶斯分类
- AI会让人类失业吗? 马云马化腾们不这么认为
- App数据分析到底要分析什么
- scan camera
- 提高代码可读性的10个技巧
- 设计模式(二十八)------23种设计模式(20):外观模式
- 如何一步步从数据产品菜鸟走到骨干数据产品
- 第七周实践项目4 队列数组
- jdk1.7 HashMap的实现原理
- 阿里PM的可用性测试秘籍:有理有据的用户体验优化
- java网络编程 udp
- 如何从无到有搭建to B平台?