偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

為什么 Netcat 是最好的 Linux 故障排除工具之一

系統(tǒng) Linux
在本文中,我們將介紹一個(gè)非常簡單的故障排除工具,稱為 Netcat。這個(gè)實(shí)用程序已經(jīng)存在了近三十年,雖然表面上很簡陋,但在正確使用時(shí)提供了強(qiáng)大的功能和靈活性。

故障排除工具可以簡單,也可以非常復(fù)雜。它們可以非常小巧,也可以非常龐大,各種大小都有。是否需要將所有功能集中在一個(gè)工具中存在爭議。當(dāng)您使用適度的工具和實(shí)用程序解決問題時(shí),您將對問題有更深入的理解。

通過避免在不必要的中間件層后面混淆基本系統(tǒng),更容易理解系統(tǒng)。這是因?yàn)槟仨毣〞r(shí)間逐個(gè)測試和理解每個(gè)組件。

在本文中,我們將介紹一個(gè)非常簡單的故障排除工具,稱為 Netcat。這個(gè)實(shí)用程序已經(jīng)存在了近三十年,雖然表面上很簡陋,但在正確使用時(shí)提供了強(qiáng)大的功能和靈活性。

讓我們探索一下 Netcat 的一些多樣性。

它可以作為客戶端

如果您想測試遠(yuǎn)程服務(wù)器上的一個(gè)開放端口,那么沒有比使用 Netcat 更簡單的方法了。您可以通過 TCP 或 UDP 向服務(wù)器發(fā)送任意有效負(fù)載,發(fā)送到任何您想要的端口。

下面是一個(gè)簡單的示例,我們向運(yùn)行在本地主機(jī)上端口 5000 的服務(wù)器發(fā)送一些基本的 UDP 字符串?dāng)?shù)據(jù):

linuxmi@linuxmi ~/www.linuxmi.com
 % echo "hello" | nc -u 127.0.0.1 5000

如果服務(wù)器期望接收此類型的數(shù)據(jù),它將會(huì)做出相應(yīng)的響應(yīng),并且您將在控制臺(tái)上看到響應(yīng)結(jié)果的打印輸出。如果服務(wù)器期望接收J(rèn)SON數(shù)據(jù)塊或其他二進(jìn)制數(shù)據(jù),您也可以以相同的方式將其傳輸?shù)絅etcat中。

以下是使用JSON數(shù)據(jù)的示例:

echo '{"key":"value"}' | nc -u 127.0.0.1 5000

假設(shè)遠(yuǎn)程服務(wù)器有一個(gè)集成的JSON解析器,您應(yīng)該能夠使用這種簡單的方法發(fā)送純JSON數(shù)據(jù)。只需記住在必要時(shí)跟蹤引號(hào)并對其進(jìn)行轉(zhuǎn)義。

它還可以作為服務(wù)器

Netcat也可以作為一個(gè)簡單的套接字服務(wù)器。假設(shè)您想要快速啟動(dòng)一個(gè)服務(wù)器,監(jiān)聽特定端口的傳入數(shù)據(jù)。使用Netcat非常簡單:

nc -l -u -p 5000 127.0.0.1

這個(gè)命令將在本地機(jī)器上打開5000端口,并監(jiān)聽傳入的UDP流量。如果將此與前面的客戶端命令結(jié)合起來,您可以將流量發(fā)送到服務(wù)器以進(jìn)行顯示。這意味著您可以創(chuàng)建一個(gè)簡單的消息中繼服務(wù)器,并且甚至可以使用Netcat在服務(wù)器之間傳輸數(shù)據(jù)。

這兩個(gè)命令也可以在TCP模式下運(yùn)行。只需刪除 -u 標(biāo)志,默認(rèn)情況下Netcat將以TCP模式運(yùn)行。

它可以發(fā)送不同類型的有效載荷

Netcat不僅功能豐富,可以同時(shí)作為客戶端和服務(wù)器,還可以發(fā)送各種負(fù)載。由于可以將數(shù)據(jù)通過管道傳輸?shù)絅etcat,您可以發(fā)送許多有趣的內(nèi)容。如果我們想使用Netcat發(fā)出一個(gè)HTTP GET請求會(huì)怎樣呢?

linuxmi@linuxmi ~/www.linuxmi.com
 % printf 'GET / HTTP/1.1\r\nHost:google.com\r\n\r\n' | nc google.com 80

因?yàn)槲覀兪謩?dòng)鍵入了HTTP請求的格式,所以看起來有點(diǎn)凌亂,但它確實(shí)有效。這個(gè)命令會(huì)返回一個(gè)301,因?yàn)镚oogle只支持通過HTTPS工作。盡管它監(jiān)聽的是端口80,但它會(huì)將您重定向到443端口進(jìn)行安全連接。

將這樣的負(fù)載填充到Netcat對于像Google這樣的大型網(wǎng)站來說并沒有太大幫助,但對于小型開發(fā)服務(wù)器來說是有用的。如果您想手動(dòng)修改HTTP負(fù)載或發(fā)送錯(cuò)誤數(shù)據(jù),這是一個(gè)快速的方法。

當(dāng)然,還有其他更適合此任務(wù)的工具,比如curl,但是通過Netcat,您可以構(gòu)建原始請求。原始請求操作對于需要對發(fā)送的數(shù)據(jù)具有更精細(xì)控制的低級(jí)故障排除非常有用。

它可以查找開放的端口

這種多功能性不僅限于客戶端和服務(wù)器應(yīng)用程序。使用Netcat,您可以掃描基礎(chǔ)架構(gòu)以查找開放的端口。通過以下命令,您可以檢查服務(wù)器上的TCP端口是否開放:

linuxmi@linuxmi ~/www.linuxmi.com
 % nc -zv google.com 80

這顯然會(huì)返回成功,因?yàn)镚oogle確實(shí)開放了用于傳入HTTP請求重定向的端口80。您可以更改為您喜歡的任何主機(jī)和端口。您甚至可以通過輸入一個(gè)端口范圍來掃描端口,例如:80-443。

如果您想掃描UDP端口,只需在命令中添加 -u 標(biāo)志。

如果您需要具有廣泛可配置選項(xiàng)的復(fù)雜網(wǎng)絡(luò)掃描,那么nmap可能是一個(gè)更好的選擇。如果您只需要快速檢查一些端口是否開放,為什么要安裝所有額外的復(fù)雜功能呢?

它可以傳輸文件

不,這不會(huì)是通過網(wǎng)絡(luò)發(fā)送文件的最快或最可靠的方式,但在緊急情況下它可以完成任務(wù)。如果您想通過Netcat發(fā)送文件,絕對可以做到。以下是如何設(shè)置遠(yuǎn)程服務(wù)器:

linuxmi@linuxmi ~/www.linuxmi.com
 % nc -l -p 5000 > foo.txt

這將打開Netcat并在端口5000上進(jìn)行監(jiān)聽。傳入的數(shù)據(jù)將被寫入文件foo.txt。

而在實(shí)際發(fā)送文件的本地客戶端上,您可以執(zhí)行以下操作:

nc <host> 5000 < foo.txt

這將將foo.txt的內(nèi)容發(fā)送到 <host>,其中遠(yuǎn)程N(yùn)etcat服務(wù)器在端口5000上進(jìn)行監(jiān)聽。

這是一種快速而簡單的方法來傳輸少量數(shù)據(jù)。盡管它可以工作,但我強(qiáng)烈建議不要將Netcat作為主要的文件傳輸方式?,F(xiàn)在有更安全、更可靠的選項(xiàng)可供選擇。

責(zé)任編輯:趙寧寧 來源: Linux迷
相關(guān)推薦

2022-04-22 11:16:35

Linux工具命令

2020-03-04 14:50:38

Linux硬件故障

2020-03-03 10:47:47

LinuxSystemdDocker

2013-07-25 14:50:03

2009-10-23 13:24:20

linux Shell

2020-02-28 08:21:37

制造業(yè)邊緣計(jì)算物聯(lián)網(wǎng)

2009-12-04 09:47:47

LinuxNFS服務(wù)器

2015-08-11 09:18:44

程序員最好

2013-08-26 14:18:12

SELinux

2021-07-06 06:12:43

Shell語法變量

2012-11-16 14:57:25

2023-09-07 07:20:36

SpaCy自然語言

2009-08-27 10:13:52

2021-12-22 10:05:06

Linux網(wǎng)絡(luò)配置故障排除

2013-04-11 10:51:27

2023-11-22 10:48:15

Arch Linux藍(lán)牙

2010-02-23 12:03:37

CentOS系統(tǒng)

2020-08-24 21:49:53

網(wǎng)絡(luò)故障工具網(wǎng)絡(luò)技術(shù)

2017-03-01 12:45:48

Linux網(wǎng)卡操作系統(tǒng)

2009-06-22 10:09:18

LinuxADSL撥號(hào)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)