Inhaltsverzeichnis:
- Schritt 1: Wie fangen wir an?
- Schritt 2: Beginnen wir
- Schritt 3: Herstellen einer Verbindung
- Schritt 4: Lassen Sie uns einige Inhalte senden
- Schritt 5: Lassen Sie uns eine offene Verbindung haben
- Schritt 6: Fazit
Video: Netcat in Python - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
Was ist netcat? Die Handbuchseite für netcat sagt folgendes: "Das Dienstprogramm nc (oder netcat) wird für so ziemlich alles unter der Sonne verwendet, das TCP-, UDP- oder UNIX-Domain-Sockets beinhaltet. Es kann TCP-Verbindungen öffnen, UDP-Pakete senden, beliebige abhören TCP- und UDP-Ports, Port-Scanning und Umgang mit IPv4 und IPv6 Im Gegensatz zu telnet(1), nc-Skripte gut und trennt Fehlermeldungen nach Standardfehlern, anstatt sie an die Standardausgabe zu senden, wie es telnet(1) bei einigen tut"
Im Wesentlichen ermöglicht Ihnen netcat die Verbindung zu anderen Servern über das TCP- oder UDP-Protokoll. TCP steht für Transmission Control Protocol und ist verbindungsorientiert. UDP steht für Universal Datagram Protocol und ist verbindungslos. TCP wird häufig für Internetanwendungen verwendet, während UDP für Medienstreaming oder VPNs verwendet wird.
Schritt 1: Wie fangen wir an?
Oben ist, wie netcat aufgerufen wird. Sie können sehen, dass es am Ende zwei Argumente gibt, die als "Ziel" und "Port" bezeichnet werden. Das Ziel bezieht sich auf einen Hostnamen oder eine IP-Adresse des Servers, zu dem wir eine Verbindung herstellen möchten, während sich der Port auf den Port des Servers bezieht, zu dem wir eine Verbindung herstellen möchten.
Schritt 2: Beginnen wir
Oben ist ein Anfangs-Python-Code. Wie Sie sehen, möchten wir die Argumente für das Programm ähnlich wie das eigentliche Dienstprogramm verarbeiten. Der Hostname ist das erste Argument nach dem Namen der ausführbaren Datei, während der Port das zweite Argument nach dem Namen der ausführbaren Datei in der Befehlszeile ist.
Schritt 3: Herstellen einer Verbindung
Lassen Sie uns eine netcat-Funktion erstellen, die wir verwenden können. Was wir hier im Grunde tun, ist, einen Socket zu erstellen und eine Verbindung zum Server mit den angegebenen Parametern herzustellen. Für den Befehl netcat sind die aktuellen Parameter der Hostname und der Port des Servers, zu dem wir versuchen, eine Verbindung herzustellen. Der Socket enthält die Parameter "socket. AF_INET" und "socket. SOCK_STREAM", da wir für dieses Tutorial standardmäßig eine TCP-Verbindung verwenden.
Schritt 4: Lassen Sie uns einige Inhalte senden
Wir haben unsere netcat-Funktion um einen dritten Parameter erweitert, "content". Es gibt eine Menge Inhalt hier, also lassen Sie uns ihn nach Zeilennummer aufschlüsseln.
Zeile 14-16: Wir senden den gesamten Inhalt über den Socket, warten eine Weile und schließen dann den Socket für alle ausgehenden Daten, damit der Socket weiß, dass keine Daten mehr kommen.
Zeile 18-26: Wir erstellen einen Puffer, um die Serverantwort zu speichern, und während der Socket Daten empfängt, hängen wir bis zu 1024 Byte Daten an das Ergebnis an, solange Daten zu lesen sind.
Zeile 28-29: Wir möchten, dass diese Netcat-Verbindung eine einmalige Verbindung ist, also erklären wir die Verbindung für geschlossen und schließen dann die Verbindung.
Zeile 31: Dies ist eine Standard-HTTP-Anfrage. Wenn Sie den Code mit den Befehlszeilenargumenten "google.com" und "80" ausführen, sehen Sie eine richtige
Schritt 5: Lassen Sie uns eine offene Verbindung haben
Der obige Code (der sich unter dem Code aus dem vorherigen Abschnitt befindet) ermöglicht es uns einfach, mehrere netcat-Befehle über eine pseudo-offene Verbindung auszuführen. (In Wirklichkeit wird jedes Mal, wenn Sie einen Befehl ausführen, eine neue TCP-Verbindung geöffnet und wieder geschlossen, sodass das Verhalten von netcat nicht wirklich emuliert wird. Wir tun dies nur zu Lernzwecken). Lassen Sie uns dies auch Zeile für Zeile aufschlüsseln:
Zeile 31: Wir wollen Befehle auf unbestimmte Zeit lesen, um die "Interaktivität" aufrechtzuerhalten
Zeile 32: Dies ist unser Puffer, der den Inhalt unserer Anfrage speichert
Zeile 36-45: Wir werden in den Puffer einlesen, bis wir eine leere Zeile lesen
Zeile 48: Wir rufen einfach unsere netcat-Funktion mit dem Hostnamen, dem Port und dem neu erstellten Inhalt (der richtig codiert ist) auf
Zeile 50: Wenn der Inhalt unseres Puffers jemals "Connection: Close" enthält (was anzeigt, dass wir die Verbindung schließen möchten), brechen wir einfach aus der Schleife aus
Schritt 6: Fazit
Am Ende dieses Tutorials sollten Sie eine minimale funktionierende Netcat-Implementierung haben. Ich überlasse es dem Benutzer als Übung, Funktionen zu implementieren wie:
1. Unterstützung anderer Protokolle
2. Festlegen des Codes, um die Verbindung nicht jedes Mal zu schließen
3. Hinzufügen von Flags, die Netcat bereits hat, um das Verhalten zu ändern
Empfohlen:
So erstellen Sie Ihre erste einfache Software mit Python – wikiHow
So erstellen Sie Ihre erste einfache Software mit Python: Hallo, willkommen zu diesem Instructables. Hier werde ich erzählen, wie Sie Ihre eigene Software erstellen. Ja, wenn Sie eine Idee haben… aber wissen, wie Sie neue Dinge umsetzen können oder daran interessiert sind, Neues zu schaffen, dann ist es das Richtige für Sie
COVID19-Dashboard auf Weltkarte (mit Python) – wikiHow
COVID19-Dashboard auf der Weltkarte (mit Python): Ich weiß, dass fast alle von uns die meisten Informationen über COVID19 kennen , ich habe das Programm zum Github-Repository hinzugefügt: https://github.co
Experimente in der erweiterten Datenprotokollierung (mit Python): 11 Schritte
Experimente in der erweiterten Datenprotokollierung (mit Python): Es gibt viele Anleitungen zur Datenprotokollierung. Als ich also ein eigenes Protokollierungsprojekt erstellen wollte, habe ich mich bei einem Haufen umgesehen. Einige waren gut, andere nicht so sehr, also beschloss ich, einige der besseren Ideen aufzunehmen und meine eigene Bewerbung zu machen. Dieses Ergebnis
Einen Würfel mit Python würfeln – wikiHow
So würfeln Sie mit Python: Die folgenden Anweisungen zeigen Ihnen, wie Sie ein Python-Modul zum „Würfeln“erstellen. Dieses Modul generiert Zufallszahlen aus diesen computerisierten Würfeln. Ich werde Funktionen bereitstellen, die zum Erstellen des Moduls erforderlich sind und eine Beschreibung als
So erstellen Sie eine While-Schleife in Python – wikiHow
So erstellen Sie eine While-Schleife in Python: Es gibt Momente in der Programmierung, in denen Sie eine Reihe von Schritten wiederholen müssen, um ein Problem zu lösen. Mit einer while-Schleife können Sie einen Codeabschnitt durchlaufen, ohne wiederholten Code schreiben zu müssen. Beim Programmieren immer wieder den gleichen Code schreiben