Linux-Tipps: Verwenden von NC für die Dateiübertragung

Schaffen Sie weiter, beschleunigen Sie das Wachstum! Dies ist der zweite Tag meiner Teilnahme an der „Nuggets Daily New Plan · June Update Challenge“, klicken Sie hier, um die Details der Veranstaltung anzuzeigen

Wenn Sie zuvor Dateien auf den Server kopiert haben, verwenden Sie entweder scp oder laden Sie sie auf den FTP-Server hoch und laden Sie sie dann erneut auf den Server herunter, der verwendet werden soll.Obwohl an diesen beiden Methoden nichts auszusetzen ist, sind die Fehler auch offensichtlicher.

  • scp: Autorisierungsüberprüfung anfordern
  • ftp: Ein Speichersystem eines Drittanbieters ist erforderlich. Wenn Sie es nach der Verwendung nicht löschen, bleibt die Datei immer dort.

Als nächstes werden wir die Verwendung von ncat (dh nc) zum Kopieren von Dateien vorstellen

nc Wissenspunkte

1. Grundlegende Anweisungen und Installation

ncat/nc ist ein cat-ähnlicher Netzwerkbefehl, der häufig beim Lesen, Schreiben und Umleiten von Netzwerken verwendet wird; er bietet sehr leistungsstarke Funktionen, dieser Artikel stellt die grundlegende Nutzungshaltung und Anwendungsszenarien vor

Stellen Sie zunächst fest, ob das System installiert ist

  • Ubuntu hat diesen Befehl standardmäßig
  • centos muss selbst installiert werden
# 判断是否有安装 ncat命令
which ncat
# which nc 也可以判断是否安装有这个命令
复制代码

Wenn es nicht installiert ist, führen Sie den folgenden Befehl aus

sudo yum install nc -y
#  yum install nmap-ncat -y
复制代码

2. Lauschen Sie dem Port-Link

Das Abhören eines Ports auf der Maschine entspricht dem Starten eines Netzwerkdienstes

# nc -l 端口号
nc -l 9999
复制代码

Notiz

  • Die oben angegebene Standardüberwachung ist der TCP-Port
  • Um udp anzugeben, können Sie übergebennc -l -u 9999

3. Verbinden Sie sich mit dem Remote-Server

# nc ip 端口号
nc 127.0.0.1 9999

# 如果需要链接的是udp端口,可以加一个 -u
复制代码

Nach dem Verbinden können Sie Informationen senden (der Server erhält die Übertragungsdaten vom Client, nachdem Sie die Eingabetaste gedrückt haben).

3. Kopieren der NC-Datei

Basierend auf dem obigen Fall kann nc zum Kopieren von Dateien verwendet werden

Zielserver, starten Sie ein Port-Listening

nc -l 9999 > save.txt
复制代码

Der Server, zu dem die Datei gehört, der zum Hochladen der Datei verwendet wird

nc 127.0.0.1 9999 < data.txt
复制代码

veranschaulichen

  • Das obige kann auch den UDP-Port für die Dateiübertragung verwenden, und -uSie können ihn hinzufügen
  • Der Prozess kann auch umgekehrt werden, den Port auf dem Server abhören, zu dem die Datei gehört, und der Zielserver wird verwendet, um die Datei herunterzuladen (die obige Methode gilt für das Szenario, in dem der Server, zu dem die Datei gehört, den Zugriff einschränkt Port; Folgendes gilt für den Fall, dass die IP des Zielservers ungewiss ist )
# 文件所属服务器
nc -l 9999 < data.txt

# 下载文件的服务器
nc 127.0.0.1 9999 > save.txt
复制代码

4. nc als Proxy

Verwenden Sie nc als einfache Weiterleitung

ncat -l 8080 | ncat 192.168.0.2 80
复制代码

Der obige Befehl implementiert eine Einwegweiterleitung und leitet die Verbindung weiter, die mit dem lokalen 8080 verknüpft ist192.168.0.2:80

Wenn Sie eine bidirektionale Pipeline implementieren möchten, können Sie wie folgt vorgehen

mkfifo 2way
ncat -l 8080 0<2way | ncat 192.168.0.2 80 1>2way
复制代码

Zusätzlich zu der obigen Proxy-Methode können Sie mit Hilfe des -cBefehls

ncat -u -l  80 -c  'ncat -u -l 8080'
复制代码

5. Zusammenfassung

nc wird häufig für die Netzwerkdatenübertragung zwischen Servern verwendet, und seine grundlegenden Parameter sind wie folgt (durch nc -hAbrufen)

-4 使用IPV4
-6 使用IPV6
-c, --sh-exec <command> 接收到的命令通过command(例如/bin/bash)执行
-e, --exec <command> 和-c差不多
--lua-exec <filename> 接收到的数据通过脚本filename执行
-m, --max-conns <n> 最大并发连接数(单独开启不生效,需配合--keep-open/--broker使用)
-d, --delay <time> 读写收发间隔时间
-o, --output <filename> 将会话数据转储到文件
-i, --idle-timeout <time> 读写超时时间
-p, --source-port port 指定连接使用的源端口号(client端使用)
-s, --source addr 客户端指定连接服务器使用的ip(client端使用)
-l, --listen 绑定和监听接入连接(server端使用)
-k, --keep-open 在监听模式中接受多个连接(配合-m使用)
-n, --nodns 不使用DNS解析主机名
-t, --telnet 响应telnet连接
-u, --udp 使用udp协议,默认tcp
-v, --verbose 显示详细信息
-w, --wait <time> 连接超时时间
--allow 允许指定主机连接
--allowfile 允许指定文件内的主机连接
--deny 拒绝指定主机连接
--denyfile 拒绝指定文件内的主机连接
--broker 启用代理模式
--proxy <addr[:port]> 指定代理主机ip和port
--proxy-type <type> 指定代理类型("http" or "socks4")
--proxy-auth <auth> 代理身份验证
复制代码

Häufig verwendete Befehle -lwerden verwendet, um eine Portnummer zu überwachen, -vdie zum Anzeigen von Verbindungsdetails verwendet wird und -uanzeigt, dass der UDP-Port überwacht wird

Dieses Papier gibt zwei einfache Beispiele

  • Datei Übertragung
  • Weiterleitung anfordern

Ein grauer Kontakt

Es ist besser, keine Bücher zu haben als keine Bücher. Die obigen Inhalte stammen ausschließlich aus einer Familie. Aufgrund begrenzter persönlicher Fähigkeiten gibt es unvermeidlich Auslassungen und Fehler. Wenn Sie Fehler finden oder bessere Vorschläge haben, können Sie diese gerne kritisieren und korrigieren . Vielen Dank

  • Persönliche Website: blog.hhui.top
  • Weibo-Adresse: Xiaohuihui-Blog
  • QQ: Ein Graugrau / 3302797840
  • Öffentliches WeChat-Konto: ein grauer Blog

Ich denke du magst

Origin juejin.im/post/7102376741728944164
Empfohlen
Rangfolge