Heim >Backend-Entwicklung >Python-Tutorial >Einführung in die Verwendung des Python-nmap-Netzwerk-Scan- und Sniffing-Toolkits
NMap, auch bekannt als Network Mapper, war ursprünglich ein Netzwerk-Scan- und Sniffing-Toolkit unter Linux.
nmap ist eine Software zum Scannen von Netzwerkverbindungen, mit der offene Netzwerkverbindungen von Computern im Internet gescannt werden. Ermitteln Sie, welche Dienste auf welchen Verbindungen ausgeführt werden, und ermitteln Sie, welches Betriebssystem auf dem Computer ausgeführt wird (dies wird auch als Fingerabdruck bezeichnet). Es ist eine der unverzichtbaren Softwareprogramme für Netzwerkadministratoren und wird zur Bewertung der Netzwerksystemsicherheit verwendet.
Wie die meisten Tools zur Netzwerksicherheit ist auch nmap ein beliebtes Tool vieler Hacker und Hacker (auch als Script-Kiddies bekannt). Systemadministratoren können nmap verwenden, um die unbefugte Nutzung von Servern in der Arbeitsumgebung zu erkennen, Hacker verwenden nmap jedoch, um die Netzwerkeinstellungen von Zielcomputern zu sammeln, um Angriffe zu planen.
Nmap wird oft mit Nessus verwechselt, einer Software zur Bewertung von Systemschwachstellen. Nmap verwendet Stealth-Methoden, um die Überwachung von Einbruchmeldesystemen zu vermeiden und den täglichen Betrieb des Zielsystems nicht zu beeinträchtigen.
Nmap wurde zusammen mit der 32-Bit-Sicherheitslücke zur zyklischen Redundanzprüfung von SSH1 von Trinity verwendet, um in das Energiemanagementsystem des Kraftwerks in The Matrix einzudringen.
Es gibt drei grundlegende Funktionen: Die eine besteht darin, zu erkennen, ob eine Gruppe von Hosts online ist; die zweite besteht darin, den bereitgestellten Host-Port zu scannen Netzwerkdienste; und es kann auch das vom Host verwendete Betriebssystem ableiten. Mit Nmap können LANs mit nur zwei Knoten bis hin zu Netzwerken mit mehr als 500 Knoten gescannt werden. Mit Nmap können Benutzer außerdem Scantechniken anpassen. Normalerweise kann ein einfacher Ping-Vorgang mit dem ICMP-Protokoll allgemeine Anforderungen erfüllen; er kann auch den UDP- oder TCP-Port bis hin zum vom Host verwendeten Betriebssystem tiefgreifend erkennen und alle Erkennungsergebnisse in verschiedenen Formaten zur weiteren Verwendung aufzeichnen Analyse. Analyseoperationen.
Führen Sie einen Ping-Scan durch und drucken Sie die Hosts aus, die auf den Scan geantwortet haben, ohne weitere Tests (z. B. Port-Scan oder Betriebssystemerkennung):
nmap -sP 192.168.1.0/24
Nur Hosts im angegebenen Netzwerk auflisten Jeder Host sendet keine Pakete an den Zielhost:
nmap -sL 192.168.1.0/24
Um die offenen Ports des Zielhosts zu erkennen, können Sie eine durch Kommas getrennte Portliste angeben (z. B. -PS22, 23, 25, 80):
nmap -PS 192.168.1.234
Verwenden Sie UDP-Ping, um den Host zu erkennen:
nmap -PU 192.168.1.0/24
Verwenden Sie die am häufigsten verwendete Scan-Option: SYN-Scan, auch bekannt als halboffener Scan, der dies tut Öffnen Sie keine vollständige TCP-Verbindung. Die Ausführung erfolgt sehr schnell:
nmap -sS 192.168.1.0/24
Dieser Artikel verwendet Linux Ubuntu 16.04 als Beispiel und verwendet schließlich hauptsächlich Python zum Betrieb
sudo apt-get install nmap
sudo pip install python-nmap
Importieren Sie nach der Installation nmap in Python und testen Sie es zur Überprüfung ob es erfolgreich ist
com@pythontab:~# python Python 2.7.12 (default, Dec 3 2016, 10:42:27) [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import nmap
import nmap nm = nmap.PortScanner() ret = nm.scan('114.114.114.114','20') print ret
{ 'nmap': { 'scanstats': {'uphosts': '1', 'timestr': 'Tue Oct 25 11:30:47 2016', 'downhosts': '0', 'totalhosts': '1', 'elapsed': '1.11'}, 'scaninfo': {'tcp': {'services': '20', 'method': 'connect'}}, 'command_line': 'nmap -oX - -p 20 -sV 115.239.210.26' }, 'scan': { '115.239.210.26': { 'status': {'state': 'up', 'reason': 'syn-ack'}, 'hostnames': [{'type': '', 'name': ''}], 'vendor': {}, 'addresses': {'ipv4': '115.239.210.26'}, 'tcp': {20: {'product': '', 'state': 'filtered', 'version': '', 'name': 'ftp-data', 'conf': '3', 'extrainfo': '', 'reason': 'no-response', 'cpe': ''} } } } }
2. Integrierte Methode:
import nmap nm = nmap.PortScanner() print nm.scaninfo() # {u'tcp': {'services': u'20-443', 'method': u'syn'}} print nm.command_line() # u'nmap -oX - -p 20-443 -sV 114.114.114.114'[u'114.114.114.114']
print nm.all_hosts()
Sehen Sie sich die detaillierten Informationen dieses Hosts an
Alle im Host enthaltenen Protokolle anzeigennm['114.114.114.114']Überprüfen Sie, welche Ports des Hosts das TCP-Protokoll bereitstellen
nm['114.114.114.114'].all_protocols()Überprüfen Sie, ob der Port das TCP-Protokoll bereitstellt
nm['114.114.114.114']['tcp'] nm['114.114.114.114']['tcp'].keys()Sie können die Parameter der NMAP-Ausführung auch so festlegen
nm['114.114.114.114'].has_tcp(21)
Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung des Python-nmap-Netzwerk-Scan- und Sniffing-Toolkits. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!