抓包
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 将包尽可能的解析(这个有时在包数量很多的情况下可以不使用,这样它会给出一个很简洁的报文解释)