學(xué)習(xí)tcpdump

之前一直用gui的wireshark進(jìn)行抓包,現(xiàn)在學(xué)習(xí)一下命令行的tcpdump,做個(gè)記錄。

簡介

tcpdump是一個(gè)抓包工具。它能夠監(jiān)聽、記錄通過某一個(gè)主機(jī)進(jìn)出的網(wǎng)絡(luò)流量。并且可以保存到文件,或者再從文件讀取抓下來的數(shù)據(jù)包。它保存下來的包也可以導(dǎo)入到wireshark里面,利用gui工具進(jìn)行查看(一般說來在gui里面查看過濾比較方便)。當(dāng)然了,很重要的一點(diǎn)是,抓取的時(shí)候你就能設(shè)置各種各樣的過濾器,免得你在查看的時(shí)候如同大海撈針,在海量數(shù)據(jù)里面尋找有用信息。

使用

首先,使用tcpdump要使用root登錄或者sudo權(quán)限。這也很好理解,整臺機(jī)器的流量都能看到了,要是任何用戶都能看到,就沒秘密可言了。

tcpdump如果不加任何參數(shù),他會(huì)抓網(wǎng)絡(luò)設(shè)備中第一個(gè)設(shè)備的包(不包括lo),并且打印出每個(gè)包的簡短信息。

-nn選項(xiàng):

意思是說當(dāng)tcpdump遇到協(xié)議號或端口號時(shí),不要將這些號碼轉(zhuǎn)換成對應(yīng)的協(xié)議名稱或端口名稱。比如,眾所周知21端口是FTP端口,我們希望顯示21,而非tcpdump自作聰明的將它顯示成FTP。

-X選項(xiàng):

告訴tcpdump命令,需要把協(xié)議頭和包內(nèi)容都原原本本的顯示出來(tcpdump會(huì)以16進(jìn)制和ASCII的形式顯示),這在進(jìn)行協(xié)議分析時(shí)是絕對的利器。

-t選項(xiàng)

輸出不打印時(shí)間戳

-F選項(xiàng)

指定過濾表達(dá)式所在的文件

-c選項(xiàng):

是Count的含義,這設(shè)置了我們希望tcpdump幫我們抓幾個(gè)包。我設(shè)置的是1,所以tcpdump不會(huì)幫我再多抓哪怕一個(gè)包回來。

是否 verbose

級別
-v
-vv
-vvv

沒有-vvvv

-s選項(xiàng)

限定包的大小。
默認(rèn)每個(gè)包存68 bytes。加上-s選項(xiàng),調(diào)整這個(gè)參數(shù)。
tcpdump host 1.2.3.4 -s 120
如果 -s 0,說明把存全量。

指定協(xié)議

proto??梢园╰cp,udp,icmp等,但是可以不加proto。
tcpdump icmp

協(xié)議總共有如下

  • ether – 鏈路層協(xié)議
  • fddi – 鏈路層協(xié)議
  • tr – 鏈路層協(xié)議
  • wlan – 鏈路層協(xié)議
  • ppp – 鏈路層協(xié)議
  • slip – 鏈路層協(xié)議
  • link – 鏈路層協(xié)議
  • ip
  • arp
  • rarp
  • tcp
  • udp
  • icmp
  • ip6
  • radio

包大小過濾

tcpdump less 32
tcpdump greater 128

也可以這樣使用
tcpdump >32
tcpdump <= 100

寫入文件

-w參數(shù)寫入文件,-r參數(shù)從文件中讀取

tcpdump -i eth1 port 80 -w capture_file

tcpdump -r capture_file

Paste_Image.png

wireshark也可以導(dǎo)入查看

Paste_Image.png

富有創(chuàng)造力

運(yùn)算符

  • and 運(yùn)算符 使用 and 或者 &&
  • OR 使用 or 或者 ||
  • EXCEPT 使用not 或者 !

過濾表達(dá)式

過濾表達(dá)式大體可以分成三種過濾條件,“類型”、“方向”和“協(xié)議”

詳細(xì)可以看
man pcap-filter

-i 參數(shù)

指定eth0 還是 eth1

tcpdump icmp -i eth1

只抓icmp的包

Paste_Image.png

-i any 監(jiān)聽所有

host

只抓某個(gè)host的包

tcpdump host 1.2.3.4

tcpdump host 101.68.136.139 -i any
因?yàn)閟sh連著,會(huì)有很多的包

src dst

指定目標(biāo)地址,源地址

tcpdump src 2.3.4.5
tcpdump dst 3.4.5.6

例如這個(gè)是百度服務(wù)器對ping的回應(yīng)

Paste_Image.png

port

指定port

tcpdump port 22 -i eth1

例如看ssh鏈接的信息,用22

80端口


Paste_Image.png

參數(shù)的組合

tcpdump src port 1025
tcpdump dst port 389
tcpdump src port 1025 and tcp
tcpdump udp and src port 53

port端口范圍

tcpdump portrange 21-23

參考資料

https://danielmiessler.com/study/tcpdump/
www.alexonlinux.com/tcpdump-for-dummies

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 簡介 用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據(jù)使用者...
    保川閱讀 5,989評論 1 13
  • tcpdump抓包命令 tcpdump是一個(gè)用于截取網(wǎng)絡(luò)分組,并輸出分組內(nèi)容的工具。tcpdump憑借強(qiáng)大的功能和...
    Yihulee閱讀 14,174評論 0 3
  • 忙了大半年,所有事情歸于塵埃。有點(diǎn)小小的失落,就這樣完了,真不敢相信。那根崩了大半年的弦突然松弛了?;叵脒@大...
    冷月_18a1閱讀 224評論 2 0
  • 多好的天氣,出去走走,陽光,草地,高樓。 一個(gè)人走過了廣場,走過了公園??搓柟饷髅模嗪茫隙嫉亩?,到處綠意盎然...
    塵囍閱讀 643評論 6 7