作者回复: 这是因为实际的报文是序列化的字符,依次为数据链路层头部、IP头部、TCP头部、HTTP头部、HTTP包体,而捕获过滤器只能处理到TCP部分,这样,当明确了TCP头部长度后,自然就能延伸到HTTP头部,就可以过滤HTTP方法了
作者回复: 谢谢Edward的分享
作者回复: 是的,不过对https就无能为力了
作者回复: 这个与RFC无关,参见http://biot.com/capstats/bpf.html
作者回复: 是的,第5部分课程学完后会对TCP头部有详细的了解
作者回复: >>2 的原因,是data offset的单位不是字节,而是word,也就是4个字节的意思,因此>>2是乘以4的意思
作者回复: 没有明确的层,因为: 1、tcpdump通过libpcap获取到报文头,它的BPF过滤器也是通过libpcap实现的; 2、如同wireshark,tcpdump也可以基于每层网络报文头进行分析。
作者回复: gateway后面跟着的不是IP地址,而是必须可以解析为MAC地址的名字,当下很少被使用
作者回复: 目前的tcpdump还做不到,tcpdump的捕获过滤器与wireshark是一样的
作者回复: sorry,没有使用过mac系统。 另外,你是不是设定了输出log?为了解析SSL,设置的log文件? 如果那个log文件很大,那么每次wireshark解析ssl时,会解析log文件,导致很慢。如果是这样,你可以清理下log文件