>백엔드 개발 >파이썬 튜토리얼 >Python에서 nmap 포트 스캐닝을 사용하는 두 가지 방법

Python에서 nmap 포트 스캐닝을 사용하는 두 가지 방법

高洛峰
高洛峰원래의
2017-03-22 13:59:282804검색

첫 번째 버전: 쉼표로 구분된 포트만 지원되며 포트 범위는 지원되지 않습니다.

첫 번째: sudo apt-get install nmap

두 번째: pip install python -nmap

셋째: scan_network.py

#!/usr/bin/env python
import nmap
import optparse

def nmapScan(tgtHost,tgtPort):
    nmScan = nmap.PortScanner()
    nmScan.scan(tgtHost,tgtPort)
    state=nmScan[tgtHost]['tcp'][int(tgtPort)]['state']
    print ("[*] " + tgtHost + " tcp/"+tgtPort +" "+state)

def main():
    parser = optparse.OptionParser('usage %prog '+\
                                   &#39;-H <target host> -p <target port>&#39;)
    parser.add_option(&#39;-H&#39;, dest=&#39;tgtHost&#39;, type=&#39;string&#39;,\
                      help=&#39;specify target host&#39;)
    parser.add_option(&#39;-p&#39;, dest=&#39;tgtPort&#39;, type=&#39;string&#39;,\
                      help=&#39;specify target port[s] separated by comma&#39;)
    
    (options, args) = parser.parse_args()
    
    tgtHost = options.tgtHost
    tgtPorts = str(options.tgtPort).split(&#39;,&#39;)
    
    if (tgtHost == None) | (tgtPorts[0] == None):
        print (parser.usage)
        exit(0)
    for tgtPort in tgtPorts:
        nmapScan(tgtHost, tgtPort)


if name == &#39;main&#39;:
    main
와 같은 파일에 아래 코드를

복사

넷째:chmod +x scan_network.py

다섯 번째: ./scan_network.py -H 192.168.1.1 -p 22,23

두 번째 버전: 쉼표로 구분된 포트 범위 및 --구분된 포트 범위 지원

아아아아

Python에서 nmap 포트 스캐닝을 사용하는 두 가지 방법

위 내용은 Python에서 nmap 포트 스캐닝을 사용하는 두 가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.