国内一区二区三区在线观看,精品人妻VA出轨中文字幕,欧美变态口味重另类在线视频,久久夜色精品国产亚洲水蜜桃,日本三级香港三级人妇电影精品

8 個實用的 Linux netcat 命令示例

2018-08-27 16:52

 

Netcat 或者叫 nc 是 Linux 下的一個用于調試和檢查網(wǎng)絡工具包??捎糜趧?chuàng)建 TCP/IP 連接,最大的用途就是用來處理 TCP/UDP 套接字。

這里我們將通過一些實例來學習 netcat 命令。

 

1. 在服務器-客戶端架構上使用 Netcat

 

netcat 工具可運行于服務器模式,偵聽指定端口

 

$ nc -l 2389

 

2. 使用 Netcat 來傳輸文件

 

netcat 工具還可用來傳輸文件,在客戶端,假設我們有一個 testfile 文件:

 

$ cat testfilehello oschina

 

而在服務器端有一個空文件名為 test

 

然后我們使用如下命令來啟用服務器端:

 

$ nc -l 2389 > test

 

緊接著運行客戶端:

 

cat testfile | nc localhost 2389

 

然后你停止服務器端,你可以查看 test 內容就是剛才客戶端傳過來的 testfile 文件的內容:

 

$ cat testhello oschina

 

3. Netcat 支持超時控制

 

多數(shù)情況我們不希望連接一直保持,那么我們可以使用 -w 參數(shù)來指定連接的空閑超時時間,該參數(shù)緊接一個數(shù)值,代表秒數(shù),如果連接超過指定時間則連接會被終止。

 

服務器:

 

nc -l 2389

 

客戶端:

 

$ nc -w 10 localhost 2389

 

該連接將在 10 秒后中斷。

 

注意: 不要在服務器端同時使用 -w 和 -l 參數(shù),因為 -w 參數(shù)將在服務器端無效果。

 

然后你可以使用客戶端模式來連接到 2389 端口:

 

$ nc localhost 2389

 

現(xiàn)在如果你輸入一些文本,它將被發(fā)送到服務器端:

 

$ nc localhost 2389HI, oschina

 

在服務器的終端窗口將會顯示下面內容:

 

$ nc -l 2389HI, oschina

 

4. Netcat 支持 IPv6

 

netcat 的 -4 和 -6 參數(shù)用來指定 IP 地址類型,分別是 IPv4 和 IPv6:

 

服務器端:

 

$ nc -4 -l 2389

 

客戶端:

 

$ nc -4 localhost 2389

 

然后我們可以使用 netstat 命令來查看網(wǎng)絡的情況:

 

$ netstat | grep 2389tcp        0      0 localhost:2389          localhost:50851         ESTABLISHED
tcp        0      0 localhost:50851         localhost:2389          ESTABLISHED

 

接下來我們看看IPv6 的情況:

 

服務器端:

 

$ nc -6 -l 2389

 

客戶端:

 

$ nc -6 localhost 2389

 

再次運行 netstat 命令:

 

$ netstat | grep 2389tcp6       0      0 localhost:2389          localhost:33234         ESTABLISHED
tcp6       0      0 localhost:33234         localhost:2389          ESTABLISHED

 

前綴是 tcp6 表示使用的是 IPv6 的地址。

 

5. 在 Netcat 中禁止從標準輸入中讀取數(shù)據(jù)

 

該功能使用 -d 參數(shù),請看下面例子:

 

服務器端:

 

$ nc -l 2389

 

客戶端:

 

$ nc -d localhost 2389Hi

 

你輸入的 Hi 文本并不會送到服務器端。

 

6. 強制 Netcat 服務器端保持啟動狀態(tài)

 

如果連接到服務器的客戶端斷開連接,那么服務器端也會跟著退出。

 

服務器端:

 

$ nc -l 2389

 

客戶端:

 

$ nc localhost 2389^C

 

服務器端:

 

$ nc -l 2389$

 

上述例子中,但客戶端斷開時服務器端也立即退出。

 

我們可以通過 -k 參數(shù)來控制讓服務器不會因為客戶端的斷開連接而退出。

 

服務器端:

 

$ nc -k -l 2389

 

客戶端:

 

$ nc localhost 2389^C

 

服務器端:

 

$ nc -k -l 2389

 

7. 配置 Netcat 客戶端不會因為 EOF 而退出

 

Netcat 客戶端可以通過 -q 參數(shù)來控制接收到 EOF 后隔多長時間才退出,該參數(shù)的單位是秒:

 

客戶端使用如下方式啟動:

 

nc  -q 5  localhost 2389

 

現(xiàn)在如果客戶端接收到 EOF ,它將等待 5 秒后退出。

 

 8. 使用 Netcat 來處理 UDP 協(xié)議

 

netcat 默認是使用 TCP 協(xié)議,但也支持 UDP,可使用 -u 參數(shù)來啟用 UDP 協(xié)議通訊。

 

服務器端:

 

$ nc -4 -u -l 2389

 

客戶端:

 

$ nc -4 -u localhost 2389

 

這樣客戶端和服務器端都使用了 UDP 協(xié)議,可通過 netstat 命令來查看:

 

$ netstat | grep 2389udp        0      0 localhost:42634         localhost:2389          ESTABLISHED

 

英文原文:8 Practical Linux Netcat NC Command Examples

 

原文:https://www.oschina.net/translate/nc-command-examples

 

來源:開源中國

譯者:王振威