Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >Was ist der NC-Befehl im Linux-System? Detaillierte Erläuterung der Verwendung des NC-Befehls

Was ist der NC-Befehl im Linux-System? Detaillierte Erläuterung der Verwendung des NC-Befehls

伊谢尔伦
伊谢尔伦Original
2017-05-30 15:01:2010270Durchsuche

In diesem Artikel wird hauptsächlich die grundlegende Verwendung des Befehls nc im Linux-System vorgestellt. Der Befehl nc ist sehr leistungsfähig. Hier finden Sie eine kurze Einführung in seine grundlegende Verwendung für das Port-Scannen und die Dateiübertragung.

Funktionsbeschreibung: Ein leistungsstarkes Netzwerktool 0a0ab0495c3035f36a29016608ecf616, das als „Schweizer Taschenmesser“ unter den Netzwerktools bekannt ist und über Windows- und Linux-Versionen verfügt. Da es kurz, prägnant und praktisch ist, ist es als einfaches und zuverlässiges Netzwerktool konzipiert, das Lese- und Schreibdaten über TCP- oder UDP-Protokolle übertragen kann. Gleichzeitig ist es auch ein Debug-Analysator für Netzwerkanwendungen, da es je nach Bedarf verschiedene Arten von Netzwerkverbindungen erstellen kann.
nc kann die folgenden Netzwerkfunktionen bereitstellen:
1) Hören Sie auf einen bestimmten Port, dann kann nc als Server verwendet werden, aber ich habe festgestellt, dass der durch die Verwendung von nc auf diese Weise generierte Server nur ein Echoserver ist. und es gibt keine andere leistungsfähigere Funktion.
2) Stellen Sie eine Verbindung zu einem bestimmten Port her. Ebenso ist es ein einfacher Client, der nur die Rolle eines Echos spielen kann ) Scannen Sie den Port, der als Abfrage verwendet werden kann, ob ein bestimmter Port auf einem bestimmten Computer geöffnet ist.
Einige spezifische Anwendungsbeispiele

Beispiel 1:
Verwenden Sie nc zum Öffnen ein bestimmter Port unter Linux
nc -lp 23 & (d. h. Telnet)
netstat -an|grep 23 (prüfen Sie, ob der Port normal geöffnet ist)

Beispiel 2:
Verwenden Sie nc für Dateiübertragung, Befehl
ssh root@www.freetstar. com "( nc -l 10003 > Ziel 2>/dev/null & )" && cat source | zum Remote-Host www.freetstar.com über ssh und verwenden Sie den Befehl nc. Öffnen Sie den lokalen 10003-Port und werden Sie ein Hintergrundprozess. Öffnen Sie nach
&& die Quelldatei auf dem lokalen Computer und leiten Sie sie an Port 10003 von www um. freetstar.com, das heißt, lassen Sie die Remote-Website www.freetstar.com die Portnummer 10003 hosten. Quelldatei empfangen

Beispiel 3:
Verwenden Sie nc, um einen bestimmten Port unter Linux zu scannen
nc -v -z host.example.com 70-80
Scan-Port (70 bis 80), der Bereich kann angegeben werden. -v gibt ausführliche Informationen aus.

Beispiel 4:
Festplatte oder Partition klonen
Ähnlich wie in Beispiel 2 müssen Sie nur die Daten der Festplatte oder Partition von dd beziehen und diese dann übertragen.
Der Vorgang des Klonens einer Festplatte oder Partition sollte nicht auf einem gemounteten System durchgeführt werden. Daher müssen Sie zum Booten die Installations-CD verwenden, in den Rettungsmodus wechseln (oder die Knoppix-Tool-CD verwenden), um das System zu starten und dann auf
Server1 auszuführen: # nc -l -p 1234 | /sda
Ausführen auf Server1. Hören Sie auf Port 1234 und speichern Sie die erhaltene Datei in /dev/sda
Ausführen auf Server2: # dd if=/dev/sda | nc server1 1234

Beispiel 5:
Speichern Sie die Webseite
while true; do nc -l -p 80 -q 1 9a2ff50b98f2f8920ab836443e37a567 ][-Ga487d1de862374a0c21f9d1d483043ab][-i2e974d444bb6f938df754c2f7a5f9c65][-o32486b46d64d030f6ea5c896a4fb7c90][-paba7b3874e3b2a44e1e5b2fb9aecaff9][-sd68a734c871403cc7f3d8add69dc1c81][ -v. ..][-wd365c43e754ea6e04773b5c60fc403d5][Hostname][Kommunikationsport...]

Parameter:
-g73f07b02b8e329271b84a1cdf7f36a79 Router-Jump-Kommunikations-Gateway festlegen, bis zu 8 können eingestellt werden.
-Ga487d1de862374a0c21f9d1d483043ab Legt den Quell-Routing-Zeiger fest, sein Wert ist ein Vielfaches von 4.
-h Online-Hilfe.
-i2f3fe0dbd5be06ed715573553cf2ef98 Legen Sie das Zeitintervall für die Übertragung von Informationen und das Scannen von Kommunikationsports fest.
-l Verwenden Sie den Abhörmodus, um eingehende Daten zu steuern.
-n Verwenden Sie die IP-Adresse direkt, anstatt den Domänennamenserver zu verwenden.
-o32486b46d64d030f6ea5c896a4fb7c90 Geben Sie den Dateinamen an, geben Sie die übertragenen Daten in Hexadezimalzeichen in diese Datei ein und speichern Sie sie.
-paba7b3874e3b2a44e1e5b2fb9aecaff9 Legt den vom lokalen Host verwendeten Kommunikationsport fest.
-r Eine Zufallszahl gibt den Kommunikationsport zwischen dem lokalen und dem Remote-Host an.
-sd68a734c871403cc7f3d8add69dc1c81 Legen Sie die IP-Adresse des lokalen Hosts fest, um Datenpakete zu senden.
-u UDP-Transportprotokoll verwenden.
-v Zeigt den Befehlsausführungsprozess an.
-w0c1934ca7c97cc1561e4ead421f771fa Legt die Zeit fest, die auf die Verbindung gewartet werden soll.
-z 0 Eingabe-/Ausgabemodus verwenden, wird nur beim Scannen von Kommunikationsports verwendet.

Werfen wir einen Blick auf die grundlegende Verwendung:

1. Hören Sie auf den lokalen Port

root@10.1.1.43:~# nc -l -p 1234 
root@10.1.1.43:~# netstat -tunlp | grep 1234

tcp 0 0 0.0.0.0:1234 0.0. 0.0:* LISTEN 15543/nc

2. Port-Scan

root@10.1.1.43:~# nc -v -w 10 10.1.1.180 80

(UNBEKANNT) [10.1.1.180] 80 (www) offen

root@10.1.1.43:~# nc -v -w 10 10.1.1.180 -z 80-30000

(UNBEKANNT) [10.1.1.180] 22000 (?) offen
(UNBEKANNT) [10.1.1.180] 80 (www) offen

3. Datei ausgehend

Quelle 10.1.1.43 text.txt

Ziel 10.1.1.180

root@10:~# nc -l -p 1234 > test.txt #开10.1.1.180:1234端口监听,并将socket传输过来的数据重定向到test.txt文件 test 43 nc
root@10.1.1.43:~#cat test.txt    
root@10.1.1.43:~# nc  10.1.1.180 1234 < test.txt  #连接远程的10.1.1.180,从test.txt的路径从定向到socket,从而将文件传输到远方。
root@10:~# cat test.txt
test 43 nc


4. Verzeichnisübertragung

Quelle 10.1.1.43 python_program

Zweck 10.1.1.180

root@10:~# nc -l -p 1234 | tar xzvf -
root@10.1.1.43:~# tar czvf -  python_program | nc 10.1.1.180 1234

python_program/
python_program/1.py
python_program/4.py
python_program/3.py

5. UDP-Port testen

root@172.16.211.34:web# netstat -tunlp

Aktive Internetverbindungen (nur Server)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Programmname
tcp 0 0 0.0 .0.0 ; 0.0.0.0:* 887/dhclient


root@172.16.211.35:~# nc -vuz  172.16.211.34 68
Verbindung zu 172.16.211.34 68 Port [udp/bootpc] erfolgreich!

Das obige ist der detaillierte Inhalt vonWas ist der NC-Befehl im Linux-System? Detaillierte Erläuterung der Verwendung des NC-Befehls. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn