linux切斷tcp命令的簡(jiǎn)單介紹

linux中tcpdump命令怎么用

tcpdump

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)景縣,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18982081108

-i: 后跟網(wǎng)卡名;

host:后跟主機(jī)IP;

-a —— 將網(wǎng)絡(luò)地址和廣播地址轉(zhuǎn)變成名字;

-c —— 指定抓取的數(shù)據(jù)包數(shù)量;

-n:不把主機(jī)IP轉(zhuǎn)為主機(jī)名;

-r:指定從某個(gè)文件中讀取數(shù)據(jù)包;

-e:指定將監(jiān)聽到的數(shù)據(jù)包鏈路層的信息打印出來(lái),包括源mac和目的mac,以及網(wǎng)絡(luò)層的協(xié)議;

-nn:不把ip、協(xié)議、端口等轉(zhuǎn)為名字;

-T —— 將監(jiān)聽到的包直接解釋為指定的類型的報(bào)文,常見的類型有rpc (遠(yuǎn)程過(guò)程調(diào)用)和snmp(簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議);

-w —— 直接將包寫入文件中,并不分析和打印出來(lái);

and:條件篩選,包含兩個(gè)地址;

or:條件篩選,兩個(gè)之中的一個(gè);

src:后跟起始地址;

dst:后跟目的地址;

Linux 基礎(chǔ)教程 29-tcpdump命令-1

? ? 在Linux中輸入命令man tcpdump給出的定義如下所示:

是不是感覺很懵?我們用通俗、形象、學(xué)術(shù)的表達(dá)方式來(lái)全方位描述tcpdump:

常用選項(xiàng)如下所示:

1、第一個(gè)抓包示例

-i : 指定用來(lái)抓包的網(wǎng)絡(luò)接口,這個(gè)參數(shù)在服務(wù)器有多個(gè)網(wǎng)卡的時(shí)候非常有效

-nn : 不轉(zhuǎn)換協(xié)議和端口號(hào),當(dāng)tcpdump遇到協(xié)議號(hào)或端口號(hào),不需要將這些數(shù)字轉(zhuǎn)換為對(duì)應(yīng)的協(xié)議名稱或端口名稱,如22端口SSH端口,我們希望顯示22,而非SSH

-X : 將協(xié)議頭和包內(nèi)容原原本本的顯示出來(lái),tcpdump會(huì)同時(shí)以16進(jìn)制和ASCII的形式進(jìn)行顯示,在協(xié)議分析時(shí)非常好用。

'port 22' : 告訴tcpdump要有選擇的顯示所抓到的包,在該示例中,只顯示源端口或目的端口是22的數(shù)據(jù)包,其他的數(shù)據(jù)包則不顯示。

-c : 用來(lái)指定抓包的個(gè)數(shù),示例設(shè)置的個(gè)數(shù)為1,則代表僅抓取一個(gè)包之后就退出不再抓包了。

2、-e 增加數(shù)據(jù)鏈路層的頭部信息

? ? 通過(guò)兩個(gè)命令的輸出對(duì)比,可以看到增加-e選項(xiàng)后,輸出的結(jié)果中增加MAC地址信息。而且在輸出內(nèi)容中會(huì)有 oui Unknown ,OUI即Organizationally unique identifier(組織唯一標(biāo)識(shí)符),在任何一塊網(wǎng)卡中燒錄的6字節(jié)MAC地址中,前3個(gè)字節(jié)體現(xiàn)了OUI,其表明了網(wǎng)卡的制造組織,通常情況下,該標(biāo)識(shí)符是唯一的。在本例中,由于沒有識(shí)別出網(wǎng)卡的制造商,因此顯示為Unknown。

3、-l 將輸出變?yōu)樾芯彌_模式

? ? -l的作用是將tcpdump的輸出行為變?yōu)?行緩沖 方式,這樣可以保證tcpdump遇到換行符,就立即將緩沖的內(nèi)容輸出到標(biāo)準(zhǔn)輸出(stdout),方便利用管道或重定向方式進(jìn)行后續(xù)處理,而不會(huì)造成延遲。

? ? 在Linux的標(biāo)準(zhǔn)I/O中提供了 全緩沖 、 行緩沖 、 無(wú)緩沖 三種緩沖方式。標(biāo)準(zhǔn)錯(cuò)誤是不帶緩沖的,而終端設(shè)備常為行緩沖,其他默認(rèn)則為全緩沖。

? ? 在該例中,將tcpdump輸出的內(nèi)容通過(guò)管道提取第5列,可以用來(lái)查看詳細(xì)的連接信息。而如果不加 -l 選項(xiàng)時(shí),則只有當(dāng)緩沖區(qū)全部占滿時(shí),tcpdump才會(huì)將緩沖區(qū)中的內(nèi)容輸出,這樣就有可能導(dǎo)致輸出不連續(xù)的,如果強(qiáng)行結(jié)束,則會(huì)影響下一行的完整性。

4、-t 輸出不加時(shí)間戳

? ? 在增加選項(xiàng) -t 選項(xiàng)后,時(shí)間23:48:03.193526就消失了。tcpdump默認(rèn)情況下是按微秒來(lái)計(jì)時(shí),因此最一個(gè)時(shí)間精確到了第6位。

5、 -v 顯示詳細(xì)信息

? ? 在增加 -v 選項(xiàng)后,會(huì)在輸出的內(nèi)容中增加 tos 、 ttl 、 id 、 offset 、 協(xié)議編號(hào) 、 總長(zhǎng)度 等,如需要理解這些信息,就需要了解TCP/IP協(xié)議中的頭的具體定義了。

6、-F 指定過(guò)濾表達(dá)式所在的文件

? ? 在第一個(gè)示例中,命令行增加了 'port 22' ,而這一項(xiàng)就叫 過(guò)濾條件 ,如果設(shè)置了過(guò)濾條件,則tcpdump只抓取滿足過(guò)濾條件的數(shù)據(jù)包。如需要設(shè)置較為復(fù)雜的過(guò)濾條件或復(fù)用過(guò)濾條件時(shí),這時(shí)可以將過(guò)濾條件保存為文件,然后通過(guò)-F加載該過(guò)濾文件。

7、 -w 將原始數(shù)據(jù)包信息保存到文件中

? ? 當(dāng)我們查看保存的文件時(shí),出現(xiàn)的是亂碼。則代表無(wú)法直接查看,很有可能是二進(jìn)制文件。那么怎么查看保存的文件了?請(qǐng)看下一個(gè)示例。

7、 -r 從文件中讀取原始數(shù)據(jù)包

? ? 通過(guò)-w和-r選項(xiàng)即可實(shí)現(xiàn)抓包的錄制回放功能。

linux系統(tǒng)用什么命令刪除tcp阻塞

recv是socket編程中最常用的函數(shù)之一,在阻塞狀態(tài)的recv有時(shí)候會(huì)返回不同的值,而對(duì)于錯(cuò)誤值也有相應(yīng)的錯(cuò)誤碼,分別對(duì)應(yīng)不同的狀態(tài),下面是我針對(duì)常見的幾種網(wǎng)絡(luò)狀態(tài)的簡(jiǎn)單總結(jié)。 首先阻塞接收的recv有時(shí)候會(huì)返回0,這僅在對(duì)端已經(jīng)關(guān)閉TCP連接時(shí)...

一篇就弄懂Linux netstat和tcpdump的常見用法

Netstat是一款CLI工具,它可以列出系統(tǒng)上所有的網(wǎng)絡(luò)連接情況,包括tcp、udp和其他unix網(wǎng)絡(luò)socket,另外它還能列出處于監(jiān)聽狀態(tài)的socket。當(dāng)Linux網(wǎng)絡(luò)或系統(tǒng)排查問(wèn)題時(shí),netstat基本上是必用的工具之一,下面開始對(duì)netstat的常見用法加以說(shuō)明。

用途:列出tcp、udp和其他unix套接字下所有的連接,往往信息提供的不夠直觀和詳細(xì),因此也常通過(guò)搭配其他參數(shù)一起使用。

相信很多用戶已經(jīng)發(fā)現(xiàn),在執(zhí)行上述命令的時(shí)候結(jié)果查詢的不是很快,這是因?yàn)閚etstat默認(rèn)會(huì)使用反向域名解析,會(huì)把對(duì)應(yīng)的IPv4地址解析對(duì)應(yīng)到IPv6或者主機(jī)名,如果IP地址信息足夠滿足需求時(shí),大可以禁用反向域名解析,加上 -n 參數(shù)。

如果是查看udp協(xié)議下的連接,則用 netstat -nlu 。

常常會(huì)遇到如下場(chǎng)景:我們提前預(yù)知某服務(wù)程序開放某監(jiān)聽端口,于是想查看對(duì)應(yīng)連接的信息,包括進(jìn)程名、進(jìn)程ID甚至執(zhí)行owner信息等,可加入 -p , -e 參數(shù)來(lái)實(shí)現(xiàn)。

netstat -s 可以打印出網(wǎng)絡(luò)統(tǒng)計(jì)數(shù)據(jù),包括某個(gè)協(xié)議下的收發(fā)包數(shù)量;

netstat -rn 可查看路由信息,效果等同于 route -n ;

netstat -i 或者 netstat -ie 可查看網(wǎng)絡(luò)接口信息,且后一條命令效果等同于 ifconfig -a ;

用簡(jiǎn)單的話來(lái)定義tcpdump,就是: dump the traffic on a network ,根據(jù)使用者的定義對(duì)網(wǎng)絡(luò)上的數(shù)據(jù)包進(jìn)行截獲的包分析工具。 tcpdump可以將網(wǎng)絡(luò)中傳送的數(shù)據(jù)包的“頭”完全截獲下來(lái)提供分析。它支持針對(duì)網(wǎng)絡(luò)層、協(xié)議、主機(jī)、網(wǎng)絡(luò)或端口的過(guò)濾,并提供and、or、not等邏輯語(yǔ)句來(lái)幫助你去掉無(wú)用的信息,是一個(gè)十分常用的Linux抓包工具。

在介紹tcpdump常用命令之前先提一個(gè)小建議,每個(gè)tcpdump命令的末尾加上 -s 0 -nvvvtttt 參數(shù),簡(jiǎn)單解釋一下參數(shù)的含義:

另外還可以結(jié)合自己的需要選擇要不要加上 -x -xx -X -XX (輸出會(huì)打印每個(gè)包的頭部數(shù)據(jù),且會(huì)以16進(jìn)制或者ASCII碼形式打印每個(gè)包的數(shù)據(jù))等參數(shù)

如下僅簡(jiǎn)單說(shuō)明一下上文沒提到的用法:

Linux 下怎么釋放 TCP 連接

先用ps命令找到哪些服務(wù)正在調(diào)用該阻塞的端口; 再用kill -s 19 #進(jìn)程編號(hào)#暫停掉該項(xiàng)服務(wù),也可以直接kill掉; 這樣資源就釋放出來(lái)了

當(dāng)前文章:linux切斷tcp命令的簡(jiǎn)單介紹
URL鏈接:http://muchs.cn/article16/hcgegg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站策劃、品牌網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)定制網(wǎng)站、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)