日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

tcpdump 和Wireshark抓包

發(fā)布時間:2024/3/26 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tcpdump 和Wireshark抓包 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1 起因#

前段時間,一直在調(diào)線上的一個問題:線上應用接受POST請求,請求body中的參數(shù)獲取不全,存在丟失的狀況。這個問題是偶發(fā)性的,大概發(fā)生的幾率為5%-10%左右,這個概率已經(jīng)相當高了。在排查問題的過程中使用到了tcpdump和Wireshark進行抓包分析。感覺這兩個工具搭配起來干活,非常完美。所有的網(wǎng)絡傳輸在這兩個工具搭配下,都無處遁形。

為了更好、更順手地能夠用好這兩個工具,特整理本篇文章,希望也能給大家?guī)硎斋@。為大家之后排查問題,添一利器。
2 tcpdump與Wireshark介紹#

在網(wǎng)絡問題的調(diào)試中,tcpdump應該說是一個必不可少的工具,和大部分linux下優(yōu)秀工具一樣,它的特點就是簡單而強大。它是基于Unix系統(tǒng)的命令行式的數(shù)據(jù)包嗅探工具,可以抓取流動在網(wǎng)卡上的數(shù)據(jù)包。

默認情況下,tcpdump不會抓取本機內(nèi)部通訊的報文。根據(jù)網(wǎng)絡協(xié)議棧的規(guī)定,對于報文,即使是目的地是本機,也需要經(jīng)過本機的網(wǎng)絡協(xié)議層,所以本機通訊肯定是通過API進入了內(nèi)核,并且完成了路由選擇?!颈热绫緳C的TCP通信,也必須要socket通信的基本要素:src ip port dst ip port】

如果要使用tcpdump抓取其他主機MAC地址的數(shù)據(jù)包,必須開啟網(wǎng)卡混雜模式,所謂混雜模式,用最簡單的語言就是讓網(wǎng)卡抓取任何經(jīng)過它的數(shù)據(jù)包,不管這個數(shù)據(jù)包是不是發(fā)給它或者是它發(fā)出的。一般而言,Unix不會讓普通用戶設置混雜模式,因為這樣可以看到別人的信息,比如telnet的用戶名和密碼,這樣會引起一些安全上的問題,所以只有root用戶可以開啟混雜模式,開啟混雜模式的命令是:ifconfig en0 promisc, en0是你要打開混雜模式的網(wǎng)卡。

Linux抓包原理:

Linux抓包是通過注冊一種虛擬的底層網(wǎng)絡協(xié)議來完成對網(wǎng)絡報文(準確的說是網(wǎng)絡設備)消息的處理權。當網(wǎng)卡接收到一個網(wǎng)絡報文之后,它會遍歷系統(tǒng)中所有已經(jīng)注冊的網(wǎng)絡協(xié)議,例如以太網(wǎng)協(xié)議、x25協(xié)議處理模塊來嘗試進行報文的解析處理,這一點和一些文件系統(tǒng)的掛載相似,就是讓系統(tǒng)中所有的已經(jīng)注冊的文件系統(tǒng)來進行嘗試掛載,如果哪一個認為自己可以處理,那么就完成掛載。當抓包模塊把自己偽裝成一個網(wǎng)絡協(xié)議的時候,系統(tǒng)在收到報文的時候就會給這個偽協(xié)議一次機會,讓它來對網(wǎng)卡收到的報文進行一次處理,此時該模塊就會趁機對報文進行窺探,也就是把這個報文完完整整的復制一份,假裝是自己接收到的報文,匯報給抓包模塊。

Wireshark是一個網(wǎng)絡協(xié)議檢測工具,支持Windows平臺、Unix平臺、Mac平臺,一般只在圖形界面平臺下使用Wireshark,如果是Linux的話,直接使用tcpdump了,因為一般而言Linux都自帶的tcpdump,或者用tcpdump抓包以后用Wireshark打開分析。

在Mac平臺下,Wireshark通過WinPcap進行抓包,封裝的很好,使用起來很方便,可以很容易的制定抓包過濾器或者顯示過濾器,具體簡單使用下面會介紹。Wireshark是一個免費的工具,只要google一下就能很容易找到下載的地方。

所以,tcpdump是用來抓取數(shù)據(jù)非常方便,Wireshark則是用于分析抓取到的數(shù)據(jù)比較方便。
3 tcpdump使用#
3.1 語法##

tcpdump [ -AdDefIKlLnNOpqRStuUvxX ] [ -B buffer_size ] [ -c count ]
[ -C file_size ] [ -G rotate_seconds ] [ -F file ]
[ -i interface ] [ -m module ] [ -M secret ]
[ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
[ -W filecount ]
[ -E spi@ipaddr algo:secret,… ]
[ -y datalinktype ] [ -z postrotate-command ] [ -Z user ]
[ expression ]

類型的關鍵字host(缺省類型): 指明一臺主機,如:host 210.27.48.2net: 指明一個網(wǎng)絡地址,如:net 202.0.0.0port: 指明端口號,如:port 23確定方向的關鍵字src: src 210.27.48.2, IP包源地址是210.27.48.2dst: dst net 202.0.0.0, 目標網(wǎng)絡地址是202.0.0.0dst or src(缺省值)dst and src協(xié)議的關鍵字:缺省值是監(jiān)聽所有協(xié)議的信息包fddiiparprarptcpudp其他關鍵字gatewaybroadcastlessgreater常用表達式:多條件時可以用括號,但是要用\轉義非 : ! or "not" (去掉雙引號)且 : && or "and"或 : || or "or"

3.2 選項##

-A:以ASCII編碼打印每個報文(不包括鏈路層的頭),這對分析網(wǎng)頁來說很方便;
-a:將網(wǎng)絡地址和廣播地址轉變成名字;
-c<數(shù)據(jù)包數(shù)目>:在收到指定的包的數(shù)目后,tcpdump就會停止;
-C:用于判斷用 -w 選項將報文寫入的文件的大小是否超過這個值,如果超過了就新建文件(文件名后綴是1、2、3依次增加);
-d:將匹配信息包的代碼以人們能夠理解的匯編格式給出;
-dd:將匹配信息包的代碼以c語言程序段的格式給出;
-ddd:將匹配信息包的代碼以十進制的形式給出;
-D:列出當前主機的所有網(wǎng)卡編號和名稱,可以用于選項 -i;
-e:在輸出行打印出數(shù)據(jù)鏈路層的頭部信息;
-f:將外部的Internet地址以數(shù)字的形式打印出來;
-F<表達文件>:從指定的文件中讀取表達式,忽略其它的表達式;
-i<網(wǎng)絡界面>:監(jiān)聽主機的該網(wǎng)卡上的數(shù)據(jù)流,如果沒有指定,就會使用最小網(wǎng)卡編號的網(wǎng)卡(在選項-D可知道,但是不包括環(huán)路接口),linux 2.2 內(nèi)核及之后的版本支持 any 網(wǎng)卡,用于指代任意網(wǎng)卡;
-l:如果沒有使用 -w 選項,就可以將報文打印到 標準輸出終端(此時這是默認);
-n:顯示ip,而不是主機名;
-N:不列出域名;
-O:不將數(shù)據(jù)包編碼最佳化;
-p:不讓網(wǎng)絡界面進入混雜模式;
-q:快速輸出,僅列出少數(shù)的傳輸協(xié)議信息;
-r<數(shù)據(jù)包文件>:從指定的文件中讀取包(這些包一般通過-w選項產(chǎn)生);
-s<數(shù)據(jù)包大小>:指定抓包顯示一行的寬度,-s0表示可按包長顯示完整的包,經(jīng)常和-A一起用,默認截取長度為60個字節(jié),但一般ethernet MTU都是1500字節(jié)。所以,要抓取大于60字節(jié)的包時,使用默認參數(shù)就會導致包數(shù)據(jù)丟失;
-S:用絕對而非相對數(shù)值列出TCP關聯(lián)數(shù);
-t:在輸出的每一行不打印時間戳;
-tt:在輸出的每一行顯示未經(jīng)格式化的時間戳記;
-T<數(shù)據(jù)包類型>:將監(jiān)聽到的包直接解釋為指定的類型的報文,常見的類型有rpc (遠程過程調(diào)用)和snmp(簡單網(wǎng)絡管理協(xié)議);
-v:輸出一個稍微詳細的信息,例如在ip包中可以包括ttl和服務類型的信息;
-vv:輸出詳細的報文信息;
-x/-xx/-X/-XX:以十六進制顯示包內(nèi)容,幾個選項只有細微的差別,詳見man手冊;
-w<數(shù)據(jù)包文件>:直接將包寫入文件中,并不分析和打印出來;
expression:用于篩選的邏輯表達式;

3.3 命令實踐##

直接啟動tcpdump,將抓取所有經(jīng)過第一個網(wǎng)絡接口上的數(shù)據(jù)包

tcpdump

控制臺輸出:

taomingkais-MacBook-Pro:~ TaoBangren$ sudo tcpdump
Password:
tcpdump: data link type PKTAP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on pktap, link-type PKTAP (Packet Tap), capture size 262144 bytes
11:00:19.788139 IP 10.37.63.3.50809 > 10.37.253.32.socks: Flags [.], ack 151417909, win 4096, length 0
11:00:19.790267 IP 10.37.253.32.socks > 10.37.63.3.50809: Flags [.], ack 1, win 560, options [nop,nop,TS val 1323324836 ecr 501713973], length 0
11:00:19.851362 IP 10.37.63.53.57443 > 239.255.255.250.ssdp: UDP, length 133
11:00:19.851367 IP 10.37.63.107.netbios-ns > 10.37.63.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
11:00:19.851369 IP 10.37.63.138.netbios-ns > 10.37.63.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
11:00:20.060087 IP 10.37.63.71.54616 > 239.255.255.250.ssdp: UDP, length 133

抓取所有經(jīng)過指定網(wǎng)絡接口上的數(shù)據(jù)包

tcpdump -i en0

如果不指定網(wǎng)卡,默認tcpdump只會監(jiān)視第一個網(wǎng)絡接口,一般是eth0,下面的例子都沒有指定網(wǎng)絡接口。

控制臺輸出:

taomingkais-MacBook-Pro:~ TaoBangren$ sudo tcpdump -i en0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on en0, link-type EN10MB (Ethernet), capture size 262144 bytes
11:04:31.780759 IP 10.37.63.100.netbios-ns > 10.37.63.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST

抓取所有經(jīng)過 en0,目的或源地址是 10.37.63.255 的網(wǎng)絡數(shù)據(jù):

tcpdump -i en0 host 10.37.63.255

控制臺輸出:

taomingkais-MacBook-Pro:~ TaoBangren$ sudo tcpdump host 10.37.63.255
tcpdump: data link type PKTAP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on pktap, link-type PKTAP (Packet Tap), capture size 262144 bytes
11:07:23.807683 IP 10.37.63.61.netbios-ns > 10.37.63.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
11:07:23.913143 IP 10.37.63.95.netbios-ns > 10.37.63.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
11:07:24.538785 IP 10.37.63.61.netbios-ns > 10.37.63.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
11:07:24.643311 IP 10.37.63.95.netbios-ns > 10.37.63.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
11:07:24.747672 IP 10.37.63.87.netbios-ns > 10.37.63.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
11:07:25.374527 IP 10.37.63.95.netbios-ns > 10.37.63.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
11:07:26.209995 IP 10.37.63.86.netbios-ns > 10.37.63.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
11:07:26.210530 IP 10.37.63.61.netbios-ns > 10.37.63.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST

抓取主機10.37.63.255和主機10.37.63.61或10.37.63.95的通信:

tcpdump host 10.37.63.255 and (10.37.63.61 or 10.37.63.95 )

控制臺輸出:

taomingkais-MacBook-Pro:~ TaoBangren$ sudo tcpdump host 10.37.63.255 and (10.37.63.61 or 10.37.63.95 )
tcpdump: data link type PKTAP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on pktap, link-type PKTAP (Packet Tap), capture size 262144 bytes
11:10:38.395320 IP 10.37.63.61.netbios-ns > 10.37.63.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
11:10:39.234047 IP 10.37.63.61.netbios-ns > 10.37.63.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
11:10:39.962286 IP 10.37.63.61.netbios-ns > 10.37.63.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
11:10:48.422443 IP 10.37.63.61.netbios-ns > 10.37.63.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
11:10:49.153630 IP 10.37.63.61.netbios-ns > 10.37.63.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
11:10:49.894146 IP 10.37.63.61.netbios-ns > 10.37.63.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
11:10:52.600297 IP 10.37.63.61.netbios-ns > 10.37.63.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST

抓取主機192.168.13.210除了和主機10.37.63.61之外所有主機通信的數(shù)據(jù)包:

tcpdump -n host 10.37.63.255 and ! 10.37.63.61

控制臺輸出:

taomingkais-MacBook-Pro:~ TaoBangren$ sudo tcpdump -n host 10.37.63.255 and ! 10.37.63.61
tcpdump: data link type PKTAP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on pktap, link-type PKTAP (Packet Tap), capture size 262144 bytes
15:54:33.921068 IP 10.37.63.86.137 > 10.37.63.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
15:54:34.025490 IP 10.37.63.86.137 > 10.37.63.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
15:54:34.025492 IP 10.37.63.86.137 > 10.37.63.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
15:54:34.338753 IP 10.37.63.56.137 > 10.37.63.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
15:54:35.174516 IP 10.37.63.88.137 > 10.37.63.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
15:54:35.204268 IP 10.37.63.56.137 > 10.37.63.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
15:54:35.592199 IP 10.37.63.135.137 > 10.37.63.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST

抓取主機10.37.63.255除了和主機10.37.63.61之外所有主機通信的ip包

tcpdump ip -n host 10.37.63.255 and ! 10.37.63.61

控制臺輸出:

taomingkais-MacBook-Pro:~ TaoBangren$ sudo tcpdump ip -n host 10.37.63.255 and ! 10.37.63.61
Password:
tcpdump: data link type PKTAP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on pktap, link-type PKTAP (Packet Tap), capture size 262144 bytes
16:02:48.168264 IP 10.37.63.107.137 > 10.37.63.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
16:02:48.272626 IP 10.37.63.28.137 > 10.37.63.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
16:02:48.586137 IP 10.37.63.75.137 > 10.37.63.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
16:02:48.586140 IP 10.37.63.48.137 > 10.37.63.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
16:02:48.586201 IP 10.37.63.48.137 > 10.37.63.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
16:02:48.586202 IP 10.37.63.48.137 > 10.37.63.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
16:02:48.690751 IP 10.37.63.103.137 > 10.37.63.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
16:02:49.004792 IP 10.37.63.28.137 > 10.37.63.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
16:02:49.212622 IP 10.37.63.88.137 > 10.37.63.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
16:02:49.317969 IP 10.37.63.48.137 > 10.37.63.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
16:02:49.317972 IP 10.37.63.48.137 > 10.37.63.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
16:02:49.318301 IP 10.37.63.48.137 > 10.37.63.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST

抓取主機10.37.63.3發(fā)送的所有數(shù)據(jù):

tcpdump -i en0 src host 10.37.63.3 (注意數(shù)據(jù)流向)

控制臺輸出:

taomingkais-MacBook-Pro:~ TaoBangren$ sudo tcpdump -i en0 src host 10.37.63.3
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on en0, link-type EN10MB (Ethernet), capture size 262144 bytes
16:08:05.698674 IP 10.37.63.3.51503 > 101.201.169.146.https: Flags [.], ack 3067697680, win 4096, length 0
16:08:06.225543 IP 10.37.63.3.56531 > 10.37.253.51.domain: 49330+ PTR? 3.63.37.10.in-addr.arpa. (41)
16:08:06.228851 IP 10.37.63.3.56781 > 10.37.253.51.domain: 9247+ PTR? 146.169.201.101.in-addr.arpa. (46)
16:08:07.247441 IP 10.37.63.3.53716 > 10.37.253.51.domain: 60009+ PTR? 51.253.37.10.in-addr.arpa. (43)
16:08:08.198285 IP 10.37.63.3.newoak > 123.151.13.85.irdmi: UDP, length 47
16:08:08.254488 IP 10.37.63.3.51134 > 10.37.253.51.domain: 52763+ PTR? 85.13.151.123.in-addr.arpa. (44)
16:08:08.917142 IP 10.37.63.3.51815 > 106.11.4.88.https: Flags [P.], seq 341932595:341932930, ack 4196579612, win 65535, length 335
16:08:08.918050 IP 10.37.63.3.51815 > 106.11.4.88.https: Flags [P.], seq 335:804, ack 1, win 65535, length 469
16:08:08.984637 IP 10.37.63.3.51815 > 106.11.4.88.https: Flags [.], ack 292, win 65535, length 0

抓取主機10.37.63.3接收的所有數(shù)據(jù):

tcpdump -i en0 dst host 10.37.63.3 (注意數(shù)據(jù)流向)

控制臺輸出:

taomingkais-MacBook-Pro:~ TaoBangren$ sudo tcpdump -i en0 dst host 10.37.63.3
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on en0, link-type EN10MB (Ethernet), capture size 262144 bytes
16:10:00.120346 IP 123.151.13.85.irdmi > 10.37.63.3.newoak: UDP, length 47
16:10:00.447742 IP 106.11.4.88.https > 10.37.63.3.51840: Flags [.], ack 3563461726, win 62712, length 0
16:10:00.449252 IP 106.11.4.88.https > 10.37.63.3.51840: Flags [P.], seq 0:291, ack 1, win 62712, length 291
16:10:00.590941 IP 10.37.253.51.domain > 10.37.63.3.62089: 38134 NXDomain 0/1/0 (101)
16:10:00.593145 IP 10.37.253.51.domain > 10.37.63.3.56987: 19136 NXDomain* 0/0/0 (41)
16:10:01.598164 IP 10.37.253.51.domain > 10.37.63.3.63380: 43688 NXDomain* 0/0/0 (43)
16:10:03.194440 IP 123.151.13.85.irdmi > 10.37.63.3.newoak: UDP, length 79
16:10:03.880803 IP 106.11.4.88.https > 10.37.63.3.51840: Flags [.], ack 806, win 63784, length 0
16:10:03.883452 IP 106.11.4.88.https > 10.37.63.3.51840: Flags [P.], seq 291:582, ack 806, win 63784, length 291
16:10:04.051402 IP dns15.online.tj.cn.irdmi > 10.37.63.3.terabase: UDP, length 87

抓取主機10.37.63.3所有在TCP 80端口的數(shù)據(jù)包:

tcpdump -i en0 host 10.37.63.3 and tcp port 80

控制臺輸出:

taomingkais-MacBook-Pro:~ TaoBangren$ sudo tcpdump -i en0 host 10.37.63.3 and tcp port 80
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on en0, link-type EN10MB (Ethernet), capture size 262144 bytes
16:13:34.869399 IP 10.37.63.3.51843 > cncln.online.ln.cn.http: Flags [.], ack 3148173637, win 8192, length 0
16:13:34.890175 IP cncln.online.ln.cn.http > 10.37.63.3.51843: Flags [.], ack 1, win 31, length 0
16:13:49.497784 IP 10.37.63.3.51845 > 27.221.81.19.http: Flags [.], ack 3932049450, win 4096, length 0
16:13:49.497786 IP 10.37.63.3.51844 > 27.221.81.19.http: Flags [.], ack 3635221024, win 4096, length 0
16:13:49.513952 IP 27.221.81.19.http > 10.37.63.3.51845: Flags [.], ack 1, win 122, options [nop,nop,TS val 4035158002 ecr 876369829], length 0
16:13:49.518587 IP 27.221.81.19.http > 10.37.63.3.51844: Flags [.], ack 1, win 122, options [nop,nop,TS val 4035158002 ecr 876369829], length 0

抓取HTTP主機10.37.63.3在80端口接收到的數(shù)據(jù)包:

tcpdump -i en0 host 10.37.63.3 and dst port 80

控制臺輸出:

taomingkais-MacBook-Pro:~ TaoBangren$ sudo tcpdump -i en0 host 10.37.63.3 and dst port 80
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on en0, link-type EN10MB (Ethernet), capture size 262144 bytes
16:19:36.187617 IP 10.37.63.3.51901 > 180.149.132.47.http: Flags [P.], seq 219000907:219001688, ack 4212585623, win 8192, length 781: HTTP: GET / HTTP/1.1
16:19:36.194163 IP 10.37.63.3.51901 > 180.149.132.47.http: Flags [.], ack 292, win 8182, length 0
16:19:36.194292 IP 10.37.63.3.51901 > 180.149.132.47.http: Flags [.], ack 453, win 8186, length 0

抓取所有經(jīng)過 en0,目的或源端口是 25 的網(wǎng)絡數(shù)據(jù)

tcpdump -i en0 port 25

源端口

tcpdump -i en0 src port 25

目的端口

tcpdump -i en0 dst port 25網(wǎng)絡過濾

抓取所有經(jīng)過 en0,網(wǎng)絡是 192.168上的數(shù)據(jù)包

tcpdump -i en0 net 192.168
tcpdump -i en0 src net 192.168
tcpdump -i en0 dst net 192.168
tcpdump -i en0 net 192.168.1
tcpdump -i en0 net 192.168.1.0/24

協(xié)議過濾

tcpdump -i en0 arp
tcpdump -i en0 ip
tcpdump -i en0 tcp
tcpdump -i en0 udp
tcpdump -i en0 icmp

抓取所有經(jīng)過 en0,目的地址是 192.168.1.254 或 192.168.1.200 端口是 80 的 TCP 數(shù)據(jù)

tcpdump -i en0 ‘((tcp) and (port 80) and ((dst host 192.168.1.254) or (dst host 192.168.1.200)))’

抓取所有經(jīng)過 en0,目標 MAC 地址是 00:01:02:03:04:05 的 ICMP 數(shù)據(jù)

tcpdump -i eth1 ‘((icmp) and ((ether dst host 00:01:02:03:04:05)))’

抓取所有經(jīng)過 en0,目的網(wǎng)絡是 192.168,但目的主機不是 192.168.1.200 的 TCP 數(shù)據(jù)

tcpdump -i en0 ‘((tcp) and ((dst net 192.168) and (not dst host 192.168.1.200)))’

只抓 SYN 包

tcpdump -i en0 ‘tcp[tcpflags] = tcp-syn’

抓 SYN, ACK

tcpdump -i en0 ‘tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack != 0’

抓 SMTP 數(shù)據(jù),抓取數(shù)據(jù)區(qū)開始為"MAIL"的包,"MAIL"的十六進制為 0x4d41494c

tcpdump -i en0 ‘((port 25) and (tcp[(tcp[12]>>2):4] = 0x4d41494c))’

抓 HTTP GET 數(shù)據(jù),"GET "的十六進制是 0x47455420

tcpdump -i en0 ‘tcp[(tcp[12]>>2):4] = 0x47455420’

0x4745 為”GET”前兩個字母”GE”,0x4854 為”HTTP”前兩個字母”HT”

tcpdump -XvvennSs 0 -i en0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854

抓 SSH 返回,"SSH-"的十六進制是 0x5353482D

tcpdump -i en0 ‘tcp[(tcp[12]>>2):4] = 0x5353482D’

抓老版本的 SSH 返回信息,如”SSH-1.99..”

tcpdump -i en0 ‘(tcp[(tcp[12]>>2):4] = 0x5353482D) and (tcp[((tcp[12]>>2)+4):2] = 0x312E)’

高級包頭過濾

如前兩個的包頭過濾,首先了解如何從包頭過濾信息:

proto[x:y] : 過濾從x字節(jié)開始的y字節(jié)數(shù)。比如ip[2:2]過濾出3、4字節(jié)(第一字節(jié)從0開始排)
proto[x:y] & z = 0 : proto[x:y]和z的與操作為0
proto[x:y] & z !=0 : proto[x:y]和z的與操作不為0
proto[x:y] & z = z : proto[x:y]和z的與操作為z
proto[x:y] = z : proto[x:y]等于z

操作符 : >, <, >=, <=, =, !=

抓取端口大于1024的TCP數(shù)據(jù)包:

tcpdump -i en0 ‘tcp[0:2] > 1024’

抓 DNS 請求數(shù)據(jù)

tcpdump -i en0 udp dst port 53

其他

-c 參數(shù)對于運維人員來說也比較常用,因為流量比較大的服務器,靠人工 CTRL+C 還是抓的太多,于是可以用-c 參數(shù)指定抓多少個包。

time tcpdump -nn -i en0 ‘tcp[tcpflags] = tcp-syn’ -c 10000 > /dev/null

上面的命令計算抓 10000 個 SYN 包花費多少時間,可以判斷訪問量大概是多少。

實時抓取端口號8000的GET包,然后寫入GET.log

tcpdump -i en0 ‘((port 8000) and (tcp[(tcp[12]>>2):4]=0x47455420))’ -nnAl -w /tmp/GET.

總結

以上是生活随笔為你收集整理的tcpdump 和Wireshark抓包的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩中文字幕综合 | 99久久久无码国产精品免费 | 欧美大片免费观看网址 | 香港三级日本三级韩国三级 | 五月天亚洲色图 | 五月天久久久久久 | 国产伦精品一区二区三区在线 | 日韩欧美在线观看一区二区 | 91导航| 超碰在线免费观看97 | 青青青在线视频免费观看 | 蜜桃成人无码区免费视频网站 | 亚洲欧美综合在线观看 | 人人草在线观看 | 色婷婷综合久久久久中文字幕 | 欧美黄色三级 | 九月婷婷丁香 | 老司机深夜视频 | 美女扣逼喷水视频 | 四季av一区二区三区免费观看 | 黄色网址链接 | 狠狠狠狠狠狠狠干 | 国产欧美日韩三级 | www.亚洲黄色 | 欧美cccc极品丰满hd | 操操操操操操操 | 久久男人网 | 国产精品视频一区在线观看 | 无码少妇一区二区三区 | xxxxx69| 日韩欧美第一区 | 国产精品成人久久久 | 亚洲另类av | 色猫咪av在线 | 国产精品福利导航 | 欧美国产日韩一区二区 | av一片| 欧美混交群体交 | 欧美成本人视频 | 久色99| 人人妻人人澡人人爽精品欧美一区 | www.九色| 欧美精品一区二区三区视频 | 91久色视频| 久草五月天 | 五月天六月婷婷 | 亚洲精品视频在线看 | 国产成人免费看 | 午夜亚洲AV永久无码精品蜜芽 | 国产国语对白 | 花样视频污 | 亚洲两性视频 | 欧美精品一级二级三级 | 少妇高潮毛片色欲ava片 | 大桥未久中文字幕 | 91久久综合 | 国产顶级毛片 | 噜噜噜久久,亚洲精品国产品 | 蜜乳av网站 | 超碰成人久久 | 国产一级二级在线观看 | 婷婷久久丁香 | 欧美一级免费在线 | jizz中文字幕 | 国产精品福利一区二区三区 | 五月激情小说网 | 亚洲国产精品成人综合色在线婷婷 | 欧美熟妇乱码在线一区 | 国产又粗又黄的视频 | 大尺度av在线 | 免费看黄色的网站 | 女人黄色片 | 熟妇高潮一区二区高潮 | 少妇性bbb搡bbb爽爽爽欧美 | 99热免费在线观看 | 国产偷人妻精品一区二区在线 | 午夜天堂在线 | 超碰网址| 九九色播 | 91看篇| 草草在线观看视频 | 日韩福利一区二区 | 91狠狠综合 | 九九视频免费观看 | 女优视频在线观看 | 日本亚洲在线 | 91偷拍富婆spa盗摄在线 | 91污片 | 俺来也在线视频 | 日本人做受免费视频 | av在线免费观看不卡 | 日本国产在线播放 | 深夜福利视频网站 | 黄色在线免费观看 | 极品尤物一区二区三区 | 日韩欧美精品国产 | 久久久久97| 欧美日韩国产a | 波多野吉衣在线观看视频 |