【系列文章】
《神探tcpdump第一招》-linux命令五分钟系列之三十五
《神探tcpdump第二招》-linux命令五分钟系列之三十六
《神探tcpdump第三招》-linux命令五分钟系列之三十七
《神探tcpdump第四招》-linux命令五分钟系列之三十八
《神探tcpdump第五招》-linux命令五分钟系列之三十九
《神探tcpdump第六招》-linux命令五分钟系列之四十
《神探tcpdump第七招》-linux命令五分钟系列之四十一
《神探tcpdump第八招》-linux命令五分钟系列之四十二
==
如果你已经认真阅读过了前面的八篇文章,那么tcpdump的最主要招数你应该已经驾轻就熟了,恭喜你。
在最后的“终结招”中,我们会给大家介绍一些之前没有提到的“小秘籍”,让大家在追查网络问题、进行协议分析时,可以用得上。
[秘籍一]
使用-A选项,则tcpdump只会显示ASCII形式的数据包内容,不会再以十六进制形式显示;
[秘籍二]
使用-XX选项,则tcpdump会从以太网部分就开始显示网络包内容,而不是仅从网络层协议开始显示。
[秘籍三]
使用如下命令,则tcpdump会列出所有可以选择的抓包对象。
# tcpdump -D 1.eth0 2.any (Pseudo-device that captures on all interfaces) 3.lo
[秘籍四]
如果想查看哪些ICMP包中“目标不可达、主机不可达”的包,请使用这样的过滤表达式:
icmp[0:2]==0x0301
[秘籍五]
要提取TCP协议的SYN、ACK、FIN标识字段,语法是:
tcp[tcpflags] & tcp-syn tcp[tcpflags] & tcp-ack tcp[tcpflags] & tcp-fin
[秘籍六]
要提取TCP协议里的SYN-ACK数据包,不但可以使用上面的方法,也可以直接使用最本质的方法:
tcp[13]==18
[秘籍七]
如果要抓取一个区间内的端口,可以使用portrange语法:
tcpdump -i eth0 -nn 'portrange 52-55' -c 1 -XX
好了,我们的《神探tcpdump系列文章》就写到这里了。
洋洋洒洒写了9篇文章,自觉内容编排还算合理,希望能让朋友们在网络捕获和流量分析方面有一定收获!