Python

Python zum Hacken, Erstellen Sie einen Port-Scanner

Python zum Hacken, Erstellen Sie einen Port-Scanner

Python zum Hacken: Bauen Sie einen Port-Scanner in 13 Zeilen mit Python

Penetrationstester zu werden bedeutet nicht nur, ein bestimmtes Ziel sofort ausnutzen zu können.  Die Verwendung der Pentest-Tools anderer Leute macht jemanden nicht zu einem großartigen Hacker. Tatsächlich werden diejenigen, die die Abhängigkeit haben, sich auf Tools zu verlassen, normalerweise als Skript-Kiddies abgestempelt. Jedes Fachgebiet muss Ebenen haben, es wird auch als Prozess bezeichnet, nicht zuletzt im Bereich des Hackens. Wie das folgende beliebte Zitat sagt: „Keine Legenden wurden geboren, Legenden werden gemacht“. Es geht nicht um das eigene Talent, sondern um die Fähigkeiten.

Im folgenden Artikel erfahren wir mehr über die Implementierung einer Programmiersprache im Bereich Hacking. Wer kennt sich nicht mit der Programmiersprache Python aus? Ja, natürlich weißt du es schon. Python wurde für allgemeine Zwecke entwickelt, z. B. für die Entwicklung von Desktop-Anwendungen mit GUI, Webentwicklung und einschließlich Hacking oder Penetrationstests. Python hat eine aktive Community (von denen einige verrückt sind, a.k.ein Fanatiker) und Python hat auch umfangreiche Bibliotheksmodule.

Python ist auch meine Lieblingsprogrammiersprache geworden, seit ich das Gebiet des Penetrationstests kannte. Ich liebe es nicht nur für selbstverständlich. Aus irgendeinem Grund ist Python jedoch im Wesentlichen eine weniger komplexe und effizientere Programmiersprache. Was ich damit meine ist, dass es fast der menschlichen Sprache nahe kommt, nicht wahr?? Aus einer Anfängersicht wie meiner ist die Python-Lesbarkeitsrate verrückt.

Ok, genug, um Python zu übertreiben. Jetzt erkläre ich den Sinn dieses Artikels. Hier lernen wir, einen einfachen Port-Scanner mit Ausführlichkeit mit nur 13 Zeilen zu erstellen. (ich mag 13). Hier werden wir nicht den „Port-Scanner-König“ NMap schlagen, sondern das Ziel ist es zu verstehen, wie ein Tool funktioniert, um das zu produzieren, was wir wollen, in diesem Fall, um zu sehen, ob die Ports auf einem Ziel liegen sind offen oder nicht. Auf der anderen Seite gibt es andere Vorteile, d.h.e. wenn wir irgendwann mit einer Bedingung konfrontiert sind, in der wir einen Port-Scan des Routers durchführen möchten, der keine Verbindung zum Internet herstellen kann und wir keine Tools haben. Das wird natürlich einfacher, wenn wir den Portscanner selbst herstellen können. Zitat aus obigem Zitat. Ich fügte hinzu: „Hacker verwenden keine Tools, sie erstellen Tools“

Machen wir es mit Übung, öffnen Sie Ihren bevorzugten Texteditor. Verschwenden Sie keine Zeit damit, eine IDE mit hohem Funktionsumfang zu verwenden, um einfache Skripte zu erstellen. Sei einfach effizient. Ich bevorzuge Gedit, anstatt den vorgefertigten Kali Linux Texteditor Leafpad. Aus einem Grund unterstützt Gedit die Farbhervorhebung für verschiedene Programmiersprachen. Geben Sie den folgenden Text in Ihren Texteditor ein.

Steckdose importieren
Socke = Buchse.Steckdose (Steckdose).AF_INET, Buchse.SOCK_STREAM)

In Zeile 1 müssen wir das Modul socket importieren, um die Funktion socket() verwenden zu können. In Zeile 2 erstellen wir ein Socket-Objekt mit der Syntax:

Steckdose.Socket (socket_family, socket_kind)

Socket_family könnte sein: AF_INET, AF_INET6, AF_UNIX, AF_NETLINK, AF_TIPC, AF_BLUETOOTH und AF_ALG.

Socket_kind Optionen sind SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, SOCK_RDM usw. Wir gebrauchen SOCK_STREAM weil wir über das TCP-Protokoll kommunizieren werden.

Um mehr über das Socket-Modul zu erfahren, besuchen Sie bitte die offizielle Dokumentation von Socket unter https://docs.Python.org/3/Bibliothek/Socket.html

Setzen wir das Programm mit den folgenden Zeilen fort:
https://analytik.Google.com/analytics/web/#realtime/rt-content/a2559550w156331077p157923904/

target = input(“[+] Ziel-IP eingeben:“)

Wir bitten den Benutzer, eine Ziel-IP einzugeben, da wir verwenden AF_INET Steckdose erstellen.

def Scanner (Port):
Versuchen:
Socke.connect((Ziel, Port))
true zurückgeben
außer:
falsch zurückgeben

In den nächsten Zeilen oben definieren wir Scanner() Funktion. Im Scanner() wir gebrauchen Versuchen Syntax, um sicherzustellen, dass wir keine Fehler ausgeben, wenn Probleme aufgetreten sind. Wir versuchen, eine Verbindung zur Ziel-IP und ihrem Port herzustellen. Die Portvariable wird wie unten gezeigt an die Funktion übergeben.

für portNumber im Bereich (1.100):
print("Scan-Port", portNumber)
wenn Scanner (Portnummer):
print('[*] Port', portNumber, '/tcp','ist offen')

Diese obige for-Schleife dient dazu, eine Reihe von Ports zu durchlaufen, die wir scannen werden. Die Syntax von Reichweite() Funktion ist, Bereich (Start bei x, Stopp vor x). In Zeile 10 werden wir also 100 Ports scannen, das sind Port 1 bis 99. Wir verwenden einen print-Methodenaufruf, um zu sagen, welcher Port jetzt tatsächlich gescannt wird. Dann geben wir den booleschen Typ zurück, True oder False. Es ruft unsere Scanner() Funktion, die versucht, eine Verbindung zum angegebenen Port herzustellen; wenn es zurückkehrt Falsch (der Verbindungsversuch ist fehlgeschlagen).  Wenn es zurückkehrt Wahr (Verbindung erfolgreich) dann gehe zur nächsten Zeile. Welche eine Meldung anzeigt, dass dieser bestimmte Port ist Öffnen. Diese Schleife wird beendet, sobald wir Port 99 . gescannt haben.

Zum Abschluss sollte unser 13-Zeilen-Port-Code-Scanner so aussehen:

Okay, jetzt Zeit zum Testen, mal sehen, wie es funktioniert. Speichern unter Scanner.py. Für den Fall, dass wir nach geöffneten Ports unseres eigenen Routers im Bereich zwischen 1 und 99 . suchen. Vertrauen Sie mir, dies wird im Vergleich zu NMap nicht schick sein, konzentrieren Sie sich einfach auf unser oben erwähntes Ziel.

Ziel-IP  : 192.168.1.1

Die Syntax zum Aufrufen Scanner.py ist:

~# Python3-Scanner.py

Da wir in der ersten Zeile unsere Skriptumgebung nicht festgelegt haben, also den Python-Interpreter aufrufen müssen, habe ich python3 anstelle seiner niedrigeren Version verwendet.

Und die nicht ausgefallene Ausgabe sollte so aussehen:

ABSCHLIESSEND

Ja, es ist uns gelungen, einen einfachen Port-Scanner von Grund auf mit Python in nur 13 Zeilen zu bauen. Es ist uns gelungen, unser Ziel zu erreichen, und jetzt wissen wir, wie die Dinge funktionieren, richtig?. Auch wenn ich Ihnen nicht gesagt habe, ob es einen Typen gibt, der das NMap-Python-Modul entwickelt hat, würden Sie nicht überrascht sein. Dieses Modul ist grundsätzlich in der Lage, den NMap-Befehl mit der Programmiersprache Python auszuführen.

Oh ja, wenn Sie sich fragen, wo ist der Hacking-Teil beim Port-Scanning?? Hmm… Nun, was macht ein Hacker dann als Ziel, wenn er keine Ahnung vom Ziel selbst hat?. Erinnern Sie sich an Penetrationstestphasen oder -zyklen?? Wenn nicht, müssen Sie möglicherweise den Artikel hier lesen:

https://linuxhint.com/kali-linux-tutorial/

So ändern Sie die linke und rechte Maustaste auf einem Windows 10-PC
Es ist ganz normal, dass alle Computer-Maus-Geräte ergonomisch für Rechtshänder gestaltet sind. Es gibt aber auch Mausgeräte, die speziell für Linkshä...
Emulieren Sie Mausklicks, indem Sie den Mauszeiger mit der klicklosen Maus in Windows 10 bewegen
Die Verwendung einer Maus oder Tastatur in der falschen Haltung bei übermäßiger Nutzung kann zu vielen gesundheitlichen Problemen führen, einschließli...
Fügen Sie mit diesen kostenlosen Tools Mausgesten zu Windows 10 hinzu
In den letzten Jahren haben sich Computer und Betriebssysteme stark weiterentwickelt. Es gab eine Zeit, in der Benutzer Befehle verwenden mussten, um ...