1. 程式人生 > >Python呼叫nmap實現掃描器

Python呼叫nmap實現掃描器

用到了python-nmap模組和optparse模組,optparse為命令列讀取模組

程式碼如下:

import optparse import nmap

def nmapScan(Host,Port):     nmScan=nmap.PortScanner()     results=nmScan.scan(Host,Port)     state=results['scan'][Host]['tcp'][int(Port)]['state']     if state=="open":         print("[*]"+Host+"tcp/"+Port+""+state)

def main():     parser=optparse.OptionParser(description='埠掃描器-nmap')     parser.add_option('-H',dest='Host',type='string',help='輸入主機ip')     parser.add_option('-P',dest='Port',type='string',help='輸入埠')     parser.add_option('-p',dest='pPort',type='int',help='Port埠')

    (options,args)=parser.parse_args()

    Host=options.Host     Port=options.Port     pPort=options.pPort     args.append(Port)     if (Host==None)|(Port==None):         print("輸入目標ip和埠")         exit(0)     for tgport in range(int(Port),pPort+1):         # print(tgport)         nmapScan(Host,str(tgport))

if __name__=='__main__':     main()