2020年1月8日 星期三

Netcat(Linux nc 指令)網路管理者工具實用範例


Netcat 這個工具在 Linux 系統中的指令名稱是 nc,以下是各種 nc 指令的實用範例。
在一般的 Linux 系統中,從 0 到 1023 這個範圍的連接埠(port)是需要有 root 權限才能使用的,而 1024 以上的連接埠則是可以讓一般的使用者使用,在使用 Netcat 時請注意這個權限問題。
nc 可以用來檢測伺服器特定的連接埠(port)是否有開啟:
nc -v 192.168.0.175 5000
若輸出為:
nc: connect to 192.168.233.208 5000 (tcp) failed: Connection refused
這樣就表示該連接埠沒有開啟。
如果是有開啟的連接埠,會像這樣:
nc -v 192.168.0.175 22
輸出為:
Connection to 192.168.0.175 22 port [tcp/ssh] succeeded!
SSH-2.0-OpenSSH_6.0p1 Debian-4


傳送測試用的 UDP 封包到遠端伺服器

下面這行指令會傳送 UDP 的測試封包到指定的機器與連接埠,-w1 參數是指定 timeout 的時間為 1 秒。
echo -n "foo" | nc -u -w1 192.168.1.8 5000

開啟 UDP 連接埠接收資料

下面這行指令會開啟一個指定的 UDP 連接埠,並將接收到的文字資料直接輸出在終端機中:
nc -lu localhost 5000

遠端機器的連接埠掃描(Port Scanning)

這行指令會掃描指定機器 1 ~ 1000 與 2000 ~ 3000 這兩個範圍的 TCP 連接埠,看看哪些埠號有開啟。
nc -vnz -w 1 192.168.233.208 1-1000 2000-3000
這行則是掃描 UDP 的連接埠:
nc -vnzu 192.168.1.8 1-65535


~ ref from  https://blog.gtwang.org/linux/linux-utility-netcat-examples/