NMAP扫描器

NMAP提供了ACK,RST,FIN或者SYN-ACK扫描。
创建一个PortScanner()类对象,用这个对象完成扫描操作。
同时创建的对象有一个scan()函数,进行基本的Nmap扫描。

#coding=utf-8

#一个Nmap的端口扫描器

import nmap
import argparse
def nampScan(tgtHost,tgtPort):
    '''创建一个PortScanner()类对象,使用scan()函数完成扫描工作'''
    nmScan = nmap.PortScanner()
    nmScan.scan(tgtHost,tgtPort)
    state = nmScan[tgtHost]['tcp'][int(tgtPort)]['state']
    print tgtHost+" tcp/"+tgtPort+" "+state

def main():
    '''程序的参数解析,调用函数等'''
    parser = argparse.ArgumentParser()
    parser.add_argument('-H',dest="tgtHost")
    parser.add_argument('-p',dest="tgtPort")
    args = parser.parse_args()
    tgtHost = args.tgtHost
    tgtPorts = args.tgtPort.split(",")
    if (tgtHost==None) | (tgtPorts[0]==None):
        print "you must specify a target host and post"
    print tgtHost
    print tgtPorts
    for tgtPort in tgtPorts:
        nampScan(tgtHost,tgtPort)

if __name__=="__main__":
    main()```
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容