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

伊谢尔伦
Freigeben: 2017-05-30 15:01:20
Original
10191 Leute haben es durchsucht

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 <( ̄▽ ̄)>, 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 < somepage.html>Beispiel 6:
HTTP-Header simulieren
[root @hatest1 ~]# nc www .huanxiangwu.com 80
GET/HTTP/1.1
Host: ispconfig.org
Referrer: mypage.com
User-Agent: my-browser
Nachher Geben Sie mit dem Befehl nc den Inhalt des roten Teils ein und drücken Sie dann zweimal die Eingabetaste, um den Inhalt der HTTP-Header von der anderen Partei zu erhalten.

Beispiel 7:
Chat
Überwachen Sie Port 1234 auf Server1 [root@hatest2 tmp]# nc -lp 1234
Senden Sie eine Nachricht über Port 1234 auf Server2 an Server1 [root@hatest1 ~] # nc server1 1234
Auf diese Weise können beide Parteien miteinander kommunizieren. Verwenden Sie Strg+D, um den Vorgang normal zu beenden.
Weitere Informationen zur Verwendung finden Sie auf der Manpage

nc example.host port Öffnet eine TCP-Verbindung zum Port auf dem example.host-Host. Wenn die Verbindung fehlschlägt, wird keine Fehlermeldung angezeigt und einfach beendet
nc -p 31337 -w 5 example.host 42 öffnet sich mit Beispiel. Eine TCP-Verbindung auf Port 42 des Host-Hosts. Verwenden Sie 31337 als Quellport und die Timeout-Verbindungszeit beträgt 5 Sekunden
nc -u example.host 53 Geben Sie das Protokoll als UDP-Protokoll an

Syntax: nc [-hlnruz][-g ][-G][-i][-o][-p][-s][ -v. ..][-w][Hostname][Kommunikationsport...]

Parameter:
-g Router-Jump-Kommunikations-Gateway festlegen, bis zu 8 können eingestellt werden.
-G Legt den Quell-Routing-Zeiger fest, sein Wert ist ein Vielfaches von 4.
-h Online-Hilfe.
-i 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.
-o Geben Sie den Dateinamen an, geben Sie die übertragenen Daten in Hexadezimalzeichen in diese Datei ein und speichern Sie sie.
-p Legt den vom lokalen Host verwendeten Kommunikationsport fest.
-r Eine Zufallszahl gibt den Kommunikationsport zwischen dem lokalen und dem Remote-Host an.
-s Legen Sie die IP-Adresse des lokalen Hosts fest, um Datenpakete zu senden.
-u UDP-Transportprotokoll verwenden.
-v Zeigt den Befehlsausführungsprozess an.
-w 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
Nach dem Login kopieren

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
Nach dem Login kopieren

(UNBEKANNT) [10.1.1.180] 80 (www) offen

root@10.1.1.43:~# nc -v -w 10 10.1.1.180 -z 80-30000
Nach dem Login kopieren

(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
Nach dem Login kopieren


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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren
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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!