1、使用tcpdump抓包监控端口9092
tcpdump src port 9092
16:23:27.680835 IP host01.XmlIpcRegSvc > 192.168.168.1.36199: Flags [R.], seq 0, ack 1493547965, win 0, length 0
16:23:27.681877 IP host01.XmlIpcRegSvc > 192.168.168.2.50416: Flags [R.], seq 0, ack 3687755208, win 0, length 0
16:23:27.688477 IP host01.XmlIpcRegSvc > 192.168.168.3.51228: Flags [R.], seq 0, ack 270197399, win 0, length 0
16:23:27.695485 IP host01.XmlIpcRegSvc > 192.168.168.4.38945: Flags [R.], seq 0, ack 883055251, win 0, length 0
16:23:27.716208 IP host01.XmlIpcRegSvc > 192.168.168.5.48618: Flags [R.], seq 0, ack 1069307805, win 0, length 0
2、输出内容详细解释
第一列:时分秒毫秒 16:23:27.680835
第二列:网络协议 IP
第三列:发送方的ip地址+端口号,其中host01是 ip,而XmlIpcRegSvc是端口号
第四列:箭头 >, 表示数据流向
第五列:接收方的ip地址+端口号,其中192.168.168.1是 ip,而36199是端口号
第六列:冒号
第七列:数据包内容,包括Flags 标识符,seq 号,ack 号,win 窗口,数据长度 length,其中 [R.] 表示 RST标志位为 1,更多标识符见下面
Flags 标识符
使用 tcpdump 抓包后,会遇到的 TCP 报文 Flags,有以下几种:
[S] : SYN(开始连接)
[P] : PSH(推送数据)
[F] : FIN (结束连接)
[R] : RST(重置连接)
[.] : 没有 Flag (意思是除上面四种类型外的其他情况,有可能是 ACK 也有可能是 URG)
3、抓包连接本机端口9092的IP列表
tcpdump src port 9092 -c1000 |awk '{print $5}'|awk -F '.' '$1<=255 && $2<=255 && $3<=255 && $4<=255 {print $1"."$2"."$3"."$4}'|sort|uniq|sed ":a;N;s/\n/,/g;ta"
192.168.168.1,192.168.168.2,192.168.168.3,192.168.168.4,192.168.168.5
4、抓包连接本机端口9092的IP列表和IP出现的次数
tcpdump src port 9092 -c1000 |awk '{print $5}'|awk -F '.' '$1<=255 && $2<=255 && $3<=255 && $4<=255 {print $1"."$2"."$3"."$4}'|sort | uniq -c |sort -n
10 192.168.168.1
20 192.168.168.2
12 192.168.168.3
11 192.168.168.4
15 192.168.168.5
5、获取接收本节点9092端口数据的IP列表
tcpdump src port 9092 -i eth0 -c1000 |awk '{print $5}'|awk -F '.' '$1<=255 && $2<=255 && $3<=255 && $4<=255 {print $1"."$2"."$3"."$4}'|sort|uniq|sed ":a;N;s/\n/,/g;ta"
6、获取向本节点9092端口发送数据的IP列表
tcpdump dst port 9092 -i eth0 -c1000 |awk '{print $5}'|awk -F '.' '$1<=255 && $2<=255 && $3<=255 && $4<=255 {print $1"."$2"."$3"."$4}'|sort|uniq|sed ":a;N;s/\n/,/g;ta"
命令参数解释
src:src port 9092表示监控本机端口9092
dst:dst port 9092表示监控本网络端口9092
port:加参数,指定端口
-c1000:表示抓包达到1000条结果后,tcpdump就会停止。
管道符其他命令:仔细看可以发现是为了截取IP、排序、去重。