Python 端口扫描器

Olga ·
更新时间:2024-11-10
· 913 次阅读

Python 端口扫描器

需要导入的模块socket,optparse
首先要获取输入的主机、端口名用optparse这个库
调用optparse.Optionparse()生成一个参数解析器
再用parser.add_option()指定这个脚本需要解析的参数是什么。~~~~~
def main():
parser = optparse.OptionParser(“usage%prog” +" -H -P")
parser.add_option("-H",dest=“tgtHost”,type=“string”,help=“specify target port”)
parser.add_option("-P",dest=“tgtPort”,type=“string”,help=“specify targetport[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)
第一步完成
继续生成两个函数connScan(tgtHost,tgtPort),portScan(tgtHost,tgtPorts)
他两的作用简单来说就是接收到主机名和端口列表做一个遍历依次连接判断端口是否开放,其中gethostbyname()可以确定主机名对应的IP地址
connScan接收到两个参数就会尝试连接成功就打印出**端口开放
完成版
简易版的端口扫描器就完成了
输出结果
在这里插入图片描述
参考python绝技一书,但是这样写出来的扫描器远远比不上nmap,后续会有多线程的加强版晚点再po上来


作者:啷个哩个啷哟喂



Python 端口扫描

需要 登录 后方可回复, 如果你还没有账号请 注册新账号