渗透测试python编程之端口扫描
生活随笔
收集整理的這篇文章主要介紹了
渗透测试python编程之端口扫描
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
一、環(huán)境
????windows 10 +python2.7
二、代碼
#!/bin/env python # coding=utf-8import optparse from threading import * from socket import *screenLock = Semaphore(value=1)def connScan(tgtHost, tgtPort):global connSkttry:connSkt = socket(AF_INET, SOCK_STREAM)connSkt.connect((tgtHost, tgtPort))connSkt.send('ViolentPython\r\n')total_data = []while True:data = connSkt.recv(20480)if not data:breaktotal_data.append(data)screenLock.acquire()print '[+]%d/tcp open' %tgtPortprint '[+] '.join(total_data)except:screenLock.acquire()print '[-]%d/tcp closed' % tgtPortfinally:screenLock.release()connSkt.close()def portScan(tgtHost, tgtPorts):try:tgtIP = gethostbyname(tgtHost)except:print "[-]Cannot resolve '%s': Unknown host" % tgtHostreturntry:tgtName = gethostbyaddr(tgtIP)print '\n[+] Scan Results for: ' + tgtName[0]except:print '\n[+] Scan Results for: ' + tgtIPsetdefaulttimeout(2)for tgtPort in tgtPorts:print 'Scanning port ' + tgtPortt = Thread(target=connScan, args=(tgtHost, int(tgtPort)))t.start()def main():parser = optparse.OptionParser('usage %prog -H' +\'<target host> -p <target port>')parser.add_option('-H', dest='tgtHost', type='string', \help='specify target host')parser.add_option('-p', dest='tgtPort', type='int', \help='specify target port[s] separated by comma')(options, args) = parser.parse_args()tgtHost = options.tgtHosttgtPorts = str(options.tgtPort).split(', ')if (tgtHost is None) | (tgtPorts[0] is None):print '[-] You must specify a target host and port[s].'exit(0)portScan(tgtHost, tgtPorts)if __name__ == '__main__':main()cmd下運行python PortScan.py -H IP -p port
轉(zhuǎn)載于:https://my.oschina.net/medivhxu/blog/1476322
總結(jié)
以上是生活随笔為你收集整理的渗透测试python编程之端口扫描的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cocos2dx 3.0打包androi
- 下一篇: 学习笔记(番外篇)——python批量转