nc

Aus Foxwiki

topic - Kurzbeschreibung

Beschreibung

Netcat wird verwendet, um mit TCP-, UDP- oder UNIX-Domain-Sockets zu arbeiten

  • TCP-Verbindungen öffnen
  • UDP-Pakete senden
  • TCP- und UDP-Ports abhören
  • Ports scannen

netcat schreibt Fehlermeldungen auf STDERR (anders als telnet)

Häufige Verwendung
  • einfache TCP-Proxys
  • Shellskript-basierte HTTP-Clients und -Server
  • Netzwerk-Daemon testen
  • SOCKS- oder HTTP-Proxy
  • Befehl für ssh(1)

Installation

# apt install netcat

Syntax

$ nc [OPTIONEN] [ZIEL] [PORT]

Optionen

Option Bescheibung
-4 Verwenden Sie nur IPv4-Adressen.
-6 Verwenden Sie nur IPv6-Adressen.
-b Übertragung zulassen.
-C Senden Sie CRLF als Zeilenende.
  • Jedes Zeilenvorschubzeichen (LF) aus den Eingabedaten wird in CR+LF übersetzt, bevor es in den Socket geschrieben wird.
  • Zeilenvorschubzeichen, denen bereits ein Wagenrücklauf (CR) vorangestellt ist, werden nicht übersetzt.
  • Empfangene Daten sind davon nicht betroffen.
-D Aktivieren Sie das Debugging auf dem Socket.
-d Versuchen Sie nicht, von stdin zu lesen.
-F Übergeben Sie den ersten verbundenen Socket mit sendmsg(2) an stdout und beenden Sie es.
  • Dies ist in Verbindung mit -X sinnvoll, um nc den Verbindungsaufbau mit einem Proxy durchführen zu lassen, den Rest der Verbindung dann aber einem anderen Programm zu überlassen (z
  • ssh(1) mit der ssh_config(5) ProxyUseFdpass-Option).
  • Kann nicht mit -U verwendet werden.
-h Drucken Sie den nc-Hilfetext aus und verlassen Sie ihn.
-I length Geben Sie die Größe des TCP-Empfangspuffers an.
-i interval Schlafen Sie zwischen den gesendeten und empfangenen Textzeilen für Sekunden.
  • Verursacht auch eine Verzögerungszeit zwischen Verbindungen zu mehreren Ports.
-k Wenn eine Verbindung hergestellt ist, warten Sie auf eine andere.
  • Benötigt -l.
  • Bei Verwendung zusammen mit der Option -u wird der Server-Socket nicht verbunden und kann UDP-Datagramme von mehreren Hosts empfangen.
-l Warten Sie auf eine eingehende Verbindung, anstatt eine Verbindung zu einem Remote-Host zu initiieren.
  • Das Ziel und der zu überwachende Port können entweder als nicht optionale Argumente oder mit den Optionen -s bzw. -p angegeben werden.
  • Kann nicht zusammen mit -x oder -z verwendet werden.
  • Darüber hinaus werden alle mit der Option -w angegebenen Timeouts ignoriert.
-M ttl Stellen Sie das TTL-/Hop-Limit für ausgehende Pakete ein.
-m minttl Bitten Sie den Kernel, eingehende Pakete zu verwerfen, deren TTL / Hop-Limit unter minttl liegt.
-N shutdown(2) die Netzwerkbuchse nach EOF am Eingang.
  • Einige Server benötigen dies, um ihre Arbeit zu beenden.
-n Führen Sie keine Domänennamenauflösung durch.
  • Wenn ein Name ohne DNS nicht aufgelöst werden kann, wird ein Fehler gemeldet.
-O length Legen Sie die Größe des TCP-Sendepuffers fest.
-P proxy_username Gibt einen Benutzernamen an, der einem Proxyserver präsentiert werden soll, der eine Authentifizierung erfordert.
  • Wenn kein Benutzername angegeben ist, wird keine Authentifizierung versucht.
  • Die Proxy-Authentifizierung wird derzeit nur für HTTP CONNECT-Proxys unterstützt.
-p source_port Geben Sie den Quellport an, den nc verwenden soll, abhängig von Berechtigungseinschränkungen und Verfügbarkeit.
-q seconds Warten Sie nach EOF auf stdin die angegebene Anzahl von Sekunden und beenden Sie dann.
  • Wenn Sekunden negativ sind, ewig warten (Standard).
  • Die Angabe einer nicht negativen Sekunde impliziert -N.
-r Wählen Sie Quell- und/oder Zielports zufällig statt sequentiell innerhalb eines Bereichs oder in der Reihenfolge, in der das System sie zuweist.
-S Aktivieren Sie die RFC 2385 TCP MD5-Signaturoption.
-s sourceaddr Legen Sie die Quelladresse fest, von der Pakete gesendet werden sollen, was auf Computern mit mehreren Schnittstellen nützlich ist.
  • Gibt für UNIX-Domänen-Datagramm-Sockets die lokale temporäre Socket-Datei an, die erstellt und verwendet werden soll, damit Datagramme empfangen werden können.
  • Kann nicht zusammen mit -x verwendet werden.
-T keyword Ändern Sie den Wert der IPv4-TOS/IPv6-Verkehrsklasse.
  • Das Schlüsselwort kann eines von „critical“, „inetcontrol“, „lowcost“, „lowdelay“, „netcontrol“, „throughput“, „reliability“ oder einer der DiffServ-Codepunkte sein: ef, af11 ...
  • af43, cs0 ...
  • cs7; oder eine Zahl in Hex oder Dezimal.
-t Senden Sie RFC 854 DON'T- und WON'T-Antworten auf RFC 854 DO- und WILL-Anforderungen.
  • Dadurch ist es möglich, nc zum Skripten von Telnet-Sitzungen zu verwenden.
-U Verwenden Sie UNIX-Domain-Sockets.
  • Kann nicht zusammen mit -F oder -x verwendet werden.
  • Wenn der Name unter Linux mit einem at-Symbol (`@') beginnt, wird er als abstrakter Namespace-Socket gelesen: Das führende `@' wird vor dem Binden oder Verbinden durch ein NUL-Byte ersetzt.
  • Einzelheiten finden Sie unter unix(7).
-u Verwenden Sie UDP statt TCP.
  • Kann nicht zusammen mit -x verwendet werden.
  • Verwenden Sie für UNIX-Domain-Sockets einen Datagramm-Socket anstelle eines Stream-Sockets.
  • Wenn ein UNIX-Domain-Socket verwendet wird, wird ein temporärer Empfangs-Socket in /tmp erstellt, es sei denn, das Flag -s ist angegeben.
-V rtable Legen Sie die zu verwendende Routing-Tabelle fest.
-v Erzeuge eine ausführlichere Ausgabe.
-W recvlimit Beenden Sie nach dem Empfang von recvlimit-Paketen aus dem Netzwerk.
-w timeout Verbindungen, die nicht hergestellt werden können oder nach Timeout-Sekunden im Leerlauf sind.
  • Das Flag -w hat keine Auswirkung auf die Option -l, dh
  • nc wird für immer auf eine Verbindung warten, mit oder ohne das Flag -w.
  • Der Standardwert ist kein Timeout.
-X proxy_protocol Verwenden Sie proxy_protocol, wenn Sie mit dem Proxy-Server sprechen.
  • Unterstützte Protokolle sind 4 (SOCKS v.4), 5 (SOCKS v.5) und Connect (HTTPS-Proxy).
  • Wenn das Protokoll nicht angegeben ist, wird SOCKS Version 5 verwendet.
-x proxy_address[:port] Verbinden Sie sich mit dem Ziel über einen Proxy an Proxy_Adresse und Port.
  • Wenn kein Port angegeben ist, wird der bekannte Port für das Proxy-Protokoll verwendet (1080 für SOCKS, 3128 für HTTPS).
  • Eine IPv6-Adresse kann eindeutig angegeben werden, indem proxy_address in eckige Klammern gesetzt wird.
  • Ein Proxy kann mit keiner der Optionen -lsuU verwendet werden.
-Z DCCP-Modus.
-z Scannen Sie nur nach lauschenden Daemons, ohne Daten an sie zu senden. * Kann nicht zusammen mit -l verwendet werden.

Parameter

Parameter Bedeutung
ZIEL kann eine numerische IP-Adresse oder ein symbolischer Hostname sein (es sei denn, die Option -n ist angegeben).
  • Im Allgemeinen muss ein Ziel angegeben werden, es sei denn, die Option -l ist angegeben (in diesem Fall wird der lokale Host verwendet).
  • Für UNIX-Domänen-Sockets ist ein Ziel erforderlich und ist der Socket-Pfad, zu dem eine Verbindung hergestellt werden soll (oder auf dem zu lauschen ist, wenn die Option -l angegeben ist).
PORT kann als numerische Portnummer oder als Dienstname angegeben werden.
  • Portbereiche können als numerische Portnummern im Format nn-mm angegeben werden.
  • Im Allgemeinen muss ein Zielport angegeben werden, es sei denn, die Option -U ist angegeben.

Anwendung

Fehlerbehebung

Konfiguration

Dateien

Anhang

Siehe auch


Dokumentation

RFC
RFC Titel
0000
Man-Pages
Info-Pages

Links

Projekt
Weblinks


TMP

nc (netcat) ist ein einfaches Werkzeug, um Netzwerkverbindungen über TCP, UDP und UNIX-Domain-Sockets aufzubauen