1.由netstat查看網絡狀況,引出的TCP創建鏈接、終止鏈接過程,以及TCP狀態分析;
2.Soap=XML+HTTP引出的HTTP協議分析;
3.Soap(Simple Object Access Protocol)簡單對象訪問協議分析及應用;
4.番外一:awk的使用
5.番外二:Linux下抓包工具
--------------------------篇四-------------------------------------
這篇講linux下的抓包工具。
抓包工具比較好用的有兩個,一個是snort,一個是tcpdump,此次不說snort了,以爲這個工具雖然很強大,可是比較複雜,仍是tcpdump比較簡單。tcpdump windows、linux版本均有。linux版本能夠在如下網站下載:www.tcpdump.org.
安裝好tcpdump以後,運行tcpdump:
1. tcpdump -D 獲取網絡適配器列表,如下是在windows上獲取到的結果:
1.\Device\PssdkLoopback (PSSDK Loopback Ethernet Emulation Adapter)
2.\Device\{CF587901-C85F-4FD6-896F-D977DEFE76EC} (Intel(R) PRO/100 VE Network Co
nnection)
2. tcpdump -i <須要監控的網絡適配器編號>,例如我想監控lo(127.0.0.1),即上面列表中的1.\Device\PssdkLoopback: (windows上特有的,linux不適用)
tcpdump -i 1
若是不使用-i來定義監控適配器的話,默認使用列表中的第一個;
3. 監控主機爲192.9.200.59上8000端口的tcp協議:
tcpdump host 192.9.200.59 and tcp port 8000
4. 若是想要顯示數據包的內容,須要使用-X參數,如,我想要顯示捕獲的http數據包http header的內容:
tcpdump -X host 192.9.200.59 and tcp port 8000
顯示結果以下:
22:13:19.717472 IP testhost59.12535 > liujuan59.8000: . 1:330(329) ack 1 win 327
8
0x0000: 4500 0171 e616 0000 8006 cb2b 0000 0000 E..q.......+....
0x0010: c009 c83b 30f7 1f40 0000 0002 0000 0002 ...;0..@........
0x0020: 5010 8000 b066 0000 504f 5354 202f 2048 P....f..POST./.H
0x0030: 5454 502f 312e 310d 0a43 6f6e 7465 6e74 TTP/1.1..Content
0x0040: 2d54 7970 653a 2074 6578 742f 786d 6c3b -Type:.text/xml;
0x0050: 2063 .c
能夠看到該結果只顯示了http頭的一部分,沒有顯示全,是由於tcpdump默認將顯示的數據長度截斷了,可使用-s後面加數據長度,來設置數據顯示長度:
tcpdump -X -s 0 host 192.9.200.59 and tcp port 8000
以上的例子中,-s 0 表示自動設置長度使其可以顯示全部數據。
5. 捕獲的數據太多,不斷刷屏,可能須要將數據內容記錄到文件裏,須要使用-w參數:
tcpdump -X -s 0 -w aaa host 192.9.200.59 and tcp port 8000
則將以前顯示在屏幕中的內容,寫入tcpdump可執行文件同級目錄下的aaa文件中。
文件查看方式以下,須要使用-r參數:
tcpdump -X -s 0 -r aaa host 192.9.200.59 and tcp port 8000
若是這樣寫:
tcpdump -r aaa
則只能看到最簡單的數據傳輸交互過程,看不到數據包內容,查看時也須要使用相應的參數。
6.總結
總結一下,tcpdump的參數分兩個部分,選項(Options)和表達式(expression):
tcpdump[-adeflnNOpqRStuvxX] [-ccount]
[-Cfile_size] [-Ffile]
[-iinterface] [-mmodule] [-rfile]
[-ssnaplen] [-Ttype] [-wfile]
[-Ealgo:secret] [expression]linux