tcpdump命令: 1、指定接口(-i) tcpdump -i eth0 2、指定ip地址(host),能夠輔加and,or,!等邏輯符,以及src,dest等表示方向。 三次握手過程分析 在主機A上開啓SSHD服務,此時不要有任何客戶端主機來鏈接主機A的SSHD服務,這樣是爲了抓包更清楚。 主機A執行:tcpdump port 22 -c 3 -n -S #打印序列號 -S Print absolute, rather than relative, TCP sequence numbers. #port 端口號 -c 抓幾個包 -n 不解析端口號爲協議名 主機B執行:yum install telnet -y #安裝telnet telnet 192.168.1.23 22 #鏈接主機A的22端口 [root@zq ~]# tcpdump -h tcpdump version 4.1-PRE-CVS_2012_02_01 libpcap version 1.4.0 Usage: tcpdump [-aAdDefIKlLnNOpqRStuUvxX] [ -B size ] [ -c count ] [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ] [ -i interface ] [ -M secret ] [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z command ] [ -Z user ] [ expression ] eg: [root@zq ~]# tcpdump port 22 -c 3 -n -S tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 21:18:05.554990 IP 192.168.1.100.61883 > 192.168.1.23.ssh: Flags [S], seq 919487421, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0 21:18:05.555081 IP 192.168.1.23.ssh > 192.168.1.100.61883: Flags [S.], seq 281122195, ack 919487422, win 14600, options [mss 1460,nop,nop,sackOK,nop,wscale 6], length 0 21:18:05.555379 IP 192.168.1.100.61883 > 192.168.1.23.ssh: Flags [.], ack 281122196, win 256, length 0 3 packets captured 3 packets received by filter 0 packets dropped by kernel tshark -w filename -i eth0 -q -w 將抓包的數據寫入文件filename中 -i 指定要抓包的接口名稱 tshark -r filename -r 指定要讀取的包文件 -V 將包儘量的解析(這個有時在包數量不少的狀況下能夠不使用,這樣它會給出一個很簡潔的報文解釋)