网络抓包工具Wireshark
- 抓获所有HTTP GET请求包的filter:
tcp[((tcp[12:1] & 0xf0) >> 2):4]= 0x47455420 - 抓获所有HTTP POST请求报的filter
tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354
说明,由于post可以上传的数据量比较大,在网络数据传输的过程会拆包传输,这样,用这个表达式就无法抓全post的所有数据。仅仅是抓获了post数据中的第一个TCP包的内容。鄙人还有么想到仅仅是抓到POST数据的表达式,我采用的方法是抓获所有非GET请求的TCP包。
tcp[((tcp[12:1] & 0xf0) >> 2):4]!= 0x47455420
没有好好研究TCPDump WinDump的表达式规则,个人想应该有直接对HTTP协议操作的表达式,这样的话就简单了。 - capture filter 的操作符有:
and not or != = < > 等等,不全,帮助文档里有。 - 要抓获一个主机或者一个网络的表达式:
[src|dst] host 192.168.1.1 src或dst可选,不选表示都可以
[src|dst] net 192.168.1 与 [src|dst] net 192.168.1.0/244 与 [src|dst] net 192.168.1.0 mask 255.255.255.0 效果是一样的