nc/netcat-Nutzung

I. Einleitung

1.Was ist Netcat?

     netcat是一个基于命令行的网络调试和开发工具。对于windows和linux操作系统中都有适配的程序包,程序文件短小精悍。在网络编程的世界里,有 “瑞士军刀” 的美誉。

2.Was nützt Netcat?

  既能够模拟客户端的行为进行数据包的发送,也能够模拟服务端的行为进行数据包的接收,
  只需启动两个netcat进程,就能同时扮演客户端和服务器的角色。
  
  比如端口连通性测试,我们通常可以使用 telnet 命令来测试目标服务器的端口是否开启,当然我们也可以使用netcat来完成。
  另外使用netcat结合重定向输入输出还能够实现文件传输。

2. Verwendung von Netcat

1. Programmdateien

   下图中是windows系统中netcat-1.11版本程序包解压之后的目录
   ![在这里插入图片描述](https://img-blog.csdnimg.cn/5f8148b7aa23417198da60982e65c647.png)
   其中包含nc.exe和nc64.exe,分别表示32位系统和64位系统下的可执行程序
   readme.txt 文件包含 netcat基本命令的使用介绍
   ![在这里插入图片描述](https://img-blog.csdnimg.cn/a4dca3787f2a45ee859d74e8affbdebe.png)

2. Als HTTP-Client

     访问百度首页,可以使用如下命令
nc www.baidu.com 80

Geben Sie nach dem Start des Programms in die Konsole ein

GET /index.html HTTP/1.1

Drücken Sie dann zwei Zeilenumbrüche und warten Sie auf die Konsolenausgabe
Fügen Sie hier eine Bildbeschreibung ein
Sie können den Antwortheader und den Antworttext vom Baidu-Server sehen.

3. Als HTTP-Server

Um beispielsweise Port 23 abzuhören, können Sie den Befehl nc -l -p 23 verwenden
-l bedeutet Abhören, -p bedeutet Port

nc -l -p 23

Nach der Ausführung des Befehls befindet sich die Konsole im Wartezustand
Fügen Sie hier eine Bildbeschreibung ein
Zu diesem Zeitpunkt können Sie PostMan als Client verwenden, um eine Test-HTTP-Anfrage zu senden
Nachdem Sie die Anfrage gesendet haben, senden Sie sie. Der Text der Schaltfläche ändert sich in „Senden ...“, was bedeutet, dass die Nachricht gesendet wird und auf die Antwort des Servers wartet.
Fügen Sie hier eine Bildbeschreibung ein
Sehen Sie sich das an nc-Konsolenausgabe und Sie können den von PostMan gesendeten Anforderungsheader und Anforderungstext sehen a>
Fügen Sie hier eine Bildbeschreibung ein
Geben Sie die folgende Antwortnachricht in die Konsole ein und drücken Sie die Eingabetaste

HTTP/1.1 200 OK
Content-Length: 12

Hello,World!

Fügen Sie hier eine Bildbeschreibung ein
Wechseln Sie dann zur PostMan-Hauptoberfläche und Sie können sehen, dass PostMan den Antworttext anzeigt.

Fügen Sie hier eine Bildbeschreibung ein
Auf diese Weise führen Netcat und Postman gemeinsam eine vollständige http-Anfrage aus.

4.Dateiübertragung

Um eine Dateiübertragung durchzuführen, müssen Sie zwei Netcat-Prozesse gleichzeitig öffnen, einen als sendendes Ende und einen als empfangendes Ende.
Starten Sie dann zuerst das empfangende Ende Starten Sie den Sende-Ende
Empfängerbefehl

nc -l -p 23 > test\nc.exe

Absenderbefehl

nc localhost 23 < nc.exe

Fügen Sie hier eine Bildbeschreibung ein
Es ist erwähnenswert, dass der Absender die Verbindung nach dem Senden der Datei nicht trennt. Sie können die Tastenkombination Strg+C auf der Absenderkonsole drücken
, um test\nc.exe auszuführen. Testen Sie die Integrität der empfangenen Datei
Fügen Sie hier eine Bildbeschreibung ein
Sie können die normale Ausführung sehen, was darauf hinweist, dass kein Paketverlust vorliegt

3. Fragen und Gedanken

Ohne Verwendung der Konsoleneingabe- und -ausgabeumleitung erfordert das Senden von Datenpaketen auf der Konsole das Drücken der Eingabetaste, um Zeile für Zeile zu senden.
Das Senden von Dateien ist relativ begrenzt. Nach dem Starten eines einzelnen Prozesses kann nur eine einzelne Datei gesendet werden.

4. Zusammenfassung

1. Das Programmpaket ist kurz und prägnant und kann sowohl als Client als auch als Server verwendet werden, wodurch unnötige Einführungen durch Dritte reduziert werden.
2. Mit Netcat kann die Integrität des TCP-Verbindungsdatenpakets angezeigt werden, was für Benutzer praktisch ist, um Fehler wie das Spleißen von Zeichenfolgen zu finden.
3. Das Format der gesendeten Datenpakete ist relativ einfach, was das Verständnis verschiedener Protokolldatenpaketformate verbessern kann und für das Verständnis von Anwendungen der oberen Schicht gut ist.

Supongo que te gusta

Origin blog.csdn.net/weixin_38526093/article/details/131091427
Recomendado
Clasificación