分享一个python实现的端口扫描的脚本,很简单,适合新手参考。最后的check_all(),第一个参数是开始ip,第二个参数是结束ip,第三个是端口,没做防御措施,垃圾进垃圾出。
功能:python实现扫描端口。
测试环境:
校内网,测试时速度很快。
如果是在公网中,可能要把第3行的settimeout(2)超时调长点。
最后的check_all(),第一个参数是开始ip,第二个参数是结束ip,第三个是端口,没做防御措施,垃圾进垃圾出。
以后再完善。
代码:
复制代码 代码示例:
#!/bin/python
#site: www.jb200.com
#
def port_check(address, port):
msocket = socket.socket()
msocket.settimeout(2)
try:
msocket.connect((address, port))
msocket.close()
return True
except socket.error, e:
print socket.error, e
return False
def check_all(ip_start, ip_end, port):
mip_start = ip_start.split('.')
mip_end = ip_end.split('.')
for i in range(4):
mip_start[i] = int(mip_start[i])
mip_end[i] = int(mip_end[i])
while True:
mip = [0,0,0,0]
for i in range(4):
mip[i] = str(mip_start[i])
mip = '.'.join(mip)
print 'now checking', mip
if port_check(mip, 21):
print mip
mip_start[3] += 1
if mip_start[3] > 255:
mip_start[2] += 1
if mip_start[2] > 255:
mip_start[1] += 1
if mip_start[1] > 255:
mip_start[0] += 1
if mip_start[0] > 255:
return
i = 0
while i < 4 and mip_start[i] <= mip_end[i]:
i += 1
if i != 4: return
import socket
check_all('10.1.44.1', '10.1.44.255', 21)