《神探tcpdump第四招》-linux命令五分钟系列之三十八
==
本文會是“選項內容”的最后一期講解,主要會講講-w和-r兩個選項。tcpdump的選項很多,多達50個,其他我沒有涉及的選項,還是要大家自己通過man tcpdump的方式來學習了。實在研究不懂的,可以找我探討:)
==
做過網絡流量分析的同學,或許都有一個共同的需求,那就是“流量保存”和“流量回放”,這就恰好對應了今天要講解的-w選項和-r選項。
“流量保存”就是把抓到的網絡包能存儲到磁盤上,保存下來,為后續使用。
“流量回放”就是把歷史上的某一時間段的流量,重新模擬回放出來,用于流量分析。
【-w選項】- 將流量保存到文件中
?
| 12345 | # tcpdump -i eth0 -w flowdatatcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes^C327 packets captured327 packets received by filter0 packets dropped by kernel |
通過上面的例子可以看到,通過-w選項將流量都存儲在了flowdata文件中了。大家是否有興趣less下flowdata,看看里面都是什么東東?
?
| 12 | # less flowdata"flowdata" may be a binary file. See it anyway? |
悲劇,原來都是二進制格式的,無法直接通過文本方式查看。嗯,買了個關子,把真像告訴大家吧!
tcpdump的-w方式是把raw packets(原始網絡包)直接存儲到文件中了,也就是存儲的都是結構體形式,而非是分析之后的文本格式的信息,因此大家是無法直接通過less命令查看的。
那么,怎么查看呢?大家想必也想到了,就是用-r選項。
【-r選項】- 讀取raw packets文件
?
| 12345678 | # tcpdump -r flowdatareading from file flowdata, link-type EN10MB (Ethernet)16:43:36.202443 IP 116.255.245.206.snapenetio > 61.135.169.73.52414: Flags [P.], seq 4082702792:4082702924, ack 3248983965, win 291, length 13216:43:36.222033 IP 61.135.169.73.52414 > 116.255.245.206.snapenetio: Flags [.], ack 132, win 61, length 016:43:36.277407 IP 116.255.245.62 > ospf-all.mcast.net: OSPFv2, Hello, length 4816:43:36.370846 ARP, Request who-has 116.255.245.203 tell 116.255.245.254, length 6416:43:36.521947 ARP, Request who-has 116.255.245.203 tell 116.255.245.253, length 6416:43:36.635472 ARP, Request who-has 116.255.245.214 tell 116.255.245.253, length 64 |
其實上面的命令就是在不知不覺中進行了“流量回放”,你會發現網絡包被“抓”的速度都按照歷史進行了回放,真像一個“時光機”啊!
由于是按raw packets來存儲的,所以你完全可以使用-e、-l和過濾表達式來對輸出信息進行控制,十分方便。
==
預告,第五招開始,會講解過濾表達式了,會比較有意思,敬請期待。
謝謝!
轉載于:https://blog.51cto.com/358845/1693618
總結
以上是生活随笔為你收集整理的《神探tcpdump第四招》-linux命令五分钟系列之三十八的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IOS委托设计模式(摘自IOS开发指南)
- 下一篇: 01.The Introduction