用python写简易的端口扫描
import optparse
import socket
from socket import *<br /><br />'''<br />python 2.7.12<br />通过TCP连接来判断指定IP是否开放了指定端口<br />'''<br />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() 相关推荐
清水寺小僧 2020-05-15
csdnyasin 2020-05-11
furongwei 2019-12-23
zhongzhiwei 2012-09-25
rootrobot 2019-06-13
点滴积累 2012-06-27
lfjjia 2019-03-15
iamplane 2018-12-28
idning 2019-04-27
奋斗的蜗牛 2019-04-09
深井兮兮 2012-12-10
wangyaqi 2018-04-08
0bytes 2018-02-09
zhangm 2015-12-14
Tonywei0 2015-12-14
Fangxingt 2017-04-17
Derllk 2015-02-13
mieleizhi0 2017-01-21