libpcap通过设置BFP,只抓指定端口的的包,可是我想只抓Tcp Data头几个字节为特定值的包。
请高手指点。
要求抓的TCP包的头几个字节为 POST
然后端口不限。
------解决方案--------------------只能抓80端口的包吧,然后从中提取出POST 字段的值吧!
搜索出POST的下标位置,再搜索出POST字段结束的标志 ".. "即0x0d 0x0a
我取过HOST字段!
------解决方案--------------------用libnids
把你抓到的包的数据还原到XML文件中,再根据你要的内容进行匹配取出来
POST以后的内容可以直接存到普通的文件里的,再取出来!
------解决方案--------------------过滤程序只能对端口、ip规则进行过滤吧,没听说可以对内容过滤
内容需要还原以后才好匹配过滤掉不要的!
我也刚接触不久这方面,知道的就这些,不一定完全对!
------解决方案--------------------要求抓的TCP包的头几个字节为 POST
------------
TCP头里面没有放POST的吧? 是http头的post的话,那只能整个包抓下来,过滤内容。
可以用偏移量或者http协议来做简化,具体如何man一下tcpdump
------解决方案--------------------建议Wireshark 很容易实现的
加入过滤条件就可以了