用python写简易的端口扫描

2018-06-17 23:53:56来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

import optparse
import socket
from socket import *

'''
python 2.7.12
通过TCP连接来判断指定IP是否开放了指定端口
'''
def connScan(tgtHost,tgtPort): try: connSkt = socket(AF_INET, SOCK_STREAM) connSkt.connect((tgtHost,tgtPort)) connSkt.send('ViolentPython\r\n') results = connSkt.recv(100) print '[+] %d/tcp open' % tgtPort print '[+] ' + str(results) + '\n' connSkt.close() except: print '[-] %d/tcp closed' % tgtPort + '\n' def portScan(tgtHost,tgtPorts): try: tgtIP = gethostbyname(tgtHost) except: print "[-] Cannot resolve '%s': Unknown host" %tgtHost + '\n' return try: tgtName = gethostbyaddr(tgtIP) print '\n[+] Scan Results for: ' + tgtName[0] except: print '\n[+] Scan Results for: ' + tgtIP + '\n' setdefaulttimeout(1) for tgtPort in tgtPorts: print '[*] Scanning port ' + tgtPort connScan(tgtHost,int(tgtPort)) 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='string',help='specify target port[s] separated by comma') (options, args) = parser.parse_args() tgtHost = options.tgtHost tgtPorts = str(options.tgtPort).split(',') if (tgtHost == None) | (tgtPorts[0] == None): print '[-] You must specify a target host and port[s].' exit(0) portScan(tgtHost,tgtPorts) if __name__ == '__main__': main()

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Py基础之函数

下一篇:windows下python-nmap运行过程中出现的问题及解决办法