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()