當tcpdump遇到Wireshark,會撞出什么火花呢?
Wireshark is a network packet analyzer(網(wǎng)絡(luò)報文分析器),用于解決網(wǎng)絡(luò)問題,安全問題,調(diào)試協(xié)議。運行于window PC下可將報文可視化和流量統(tǒng)計。
tcpdump是Linux下抓包命令,它可以指定網(wǎng)口指定協(xié)議指定端口指定源地址或目的地址等進行抓包,以cap文件保存,以便后期通過Wireshark工具進行報文分析。當tcpdump遇到Wireshark,linux下的報文都會原形畢露(這里指報文圖形可視化)。
tcpdump工具安裝和命令介紹
從tcpdump官網(wǎng)下載tcpdump 及其依賴且相匹配的pcap包(未實踐),到linux機器上將pcap和tcpdump分別依次進行安裝(./configure && make && make install)。
tcpdump(dump the traffic on a network)針對網(wǎng)絡(luò)層、協(xié)議、主機、網(wǎng)絡(luò)或端口的過濾,并提供and or not等邏輯語句來將網(wǎng)絡(luò)中傳送你的所需要的數(shù)據(jù)包的“頭”完全攔截。
監(jiān)控網(wǎng)口 tcpdump -i eth0 -w packet.cap
監(jiān)控指定主機和端口 tcpdump port 23 and host 1.1.1.1
監(jiān)控指定協(xié)議端口且打印長度超過576字節(jié)的ip數(shù)據(jù)包 tcpdump tcp port 80 and ip[2:2]>576
指定網(wǎng)口指定源網(wǎng)絡(luò)地址且不抓取目的端口22的報文 tcpdump -i eth0 srt net 192.168.1.0/24 and dst port !22
接下來就可以將抓到報文進行Wireshark解析,然后對報文中的信息進行分析。
Wireshark安裝和報文分析
window下安裝Wireshark最簡單,網(wǎng)上搜索或從此鏈接下載exe文件,點擊運行下一步直到安裝成功。
打開Wireshark工具,然后打開tcpdump抓到的報文cap文件,輸入過濾條件即可看到想要分析的報文了!
0) 過濾條件: 指定IP(ip.addr==1.1.1.1,ip.dst==1.1.1.1,ip.src==1.1.1.1),基于mac,ip段,指定端口(port 80)
1) TCP協(xié)議:TCP三次握手(SYN, SYN/ACK,ACK),使用follow tcp stream可以很快辨識中三次握手的信號。
2) HTTP協(xié)議:比如post/put/get的某個接口中發(fā)送或返回信息中參數(shù)的正確性驗證。
3) 網(wǎng)絡(luò)性能排查:TCP重傳和重復(fù)ACK,TCP窗口與擁塞處理(檢測丟包),狙擊網(wǎng)絡(luò)高時延點(客戶端/線路/服務(wù)端延時)。
4) 報文分析ftp協(xié)議的第6部分(主動模式和被動模式抓包分析)
參考資料
Wireshark學習參考鏈接EMC中文論壇。