中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux系統netcat命令的示例分析

發布時間:2022-01-27 10:40:01 來源:億速云 閱讀:131 作者:kk 欄目:開發技術

這篇文章的內容主要圍繞Linux系統netcat命令的示例分析進行講述,文章內容清晰易懂,條理清晰,非常適合新手學習,值得大家去閱讀。感興趣的朋友可以跟隨小編一起閱讀吧。希望大家通過這篇文章有所收獲!

netcat是網絡工具中的瑞士軍刀,它能通過TCP和UDP在網絡中讀寫數據。netcat所做的就是在兩臺電腦之間建立鏈接并返回兩個數據流,通過與其他工具結合和重定向。

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

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

 $ nc -l 2389

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

 $ nc localhost 2389

現在如果你輸入一些文本,它將被發送到服務器端:

 $ nc localhost 2389
 HI, oschina

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

 $ nc -l 2389
 HI, oschina

使用 Netcat 來傳輸文件

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

 $ cat testfile
 hello oschina

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

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

 $ nc -l 2389 > test

緊接著運行客戶端:

 cat testfile | nc localhost 2389

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

 $ cat test
 hello oschina

Netcat 支持超時控制

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

服務器:

 nc -l 2389

客戶端:

 $ nc -w 10 localhost 2389

該連接將在 10 秒后中斷。

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

Netcat 支持 IPv6

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

服務器端:

 $ nc -4 -l 2389

客戶端:

 $ nc -4 localhost 2389

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

 $ netstat | grep 2389
 tcp       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 2389
 tcp6       0     0 localhost:2389         localhost:33234         ESTABLISHED
 tcp6       0     0 localhost:33234         localhost:2389         ESTABLISHED

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

在 Netcat 中禁止從標準輸入中讀取數據

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

服務器端:

 $ nc -l 2389

客戶端:

 $ nc -d localhost 2389
 Hi

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

強制 Netcat 服務器端保持啟動狀態

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

服務器端:

$ nc -l 2389 客戶端:

$ nc localhost 2389 ^C 服務器端:

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

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

服務器端:

$ nc -k -l 2389 客戶端:

$ nc localhost 2389 ^C 服務器端:

$ nc -k -l 2389

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

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

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

nc -q 5 localhost 2389 現在如果客戶端接收到 EOF ,它將等待 5 秒后退出。

使用 Netcat 來處理 UDP 協議

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

服務器端:

$ nc -4 -u -l 2389 客戶端:

$ nc -4 -u localhost 2389 這樣客戶端和服務器端都使用了 UDP 協議,可通過 netstat 命令來查看:

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

感謝你的閱讀,相信你對“Linux系統netcat命令的示例分析”這一問題有一定的了解,快去動手實踐吧,如果想了解更多相關知識點,可以關注億速云網站!小編會繼續為大家帶來更好的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泰来县| 康乐县| 昌都县| 武功县| 宁国市| 宜宾县| 白沙| 汉沽区| 韶山市| 高陵县| 教育| 宽城| 佛学| 西乡县| 拉孜县| 汉中市| 堆龙德庆县| 龙门县| 杭州市| 广平县| 南部县| 侯马市| 宝清县| 梅州市| 百色市| 平塘县| 白河县| 青川县| 元谋县| 桑日县| 贡嘎县| 象州县| 荔波县| 永兴县| 修水县| 常州市| 科尔| 周口市| 江都市| 太仆寺旗| 汽车|