Ish*_*shi 12 defragmentation http sniffer libpcap
我试图通过libpcap嗅探HTTP数据,并在处理TCP有效负载后获取所有http内容(标头+有效负载).
根据我在编写一个http嗅探器(或任何其他应用程序级嗅探器)的讨论,我面临着由于碎片问题 - 我需要重建整个流(或对其进行碎片整理)以获得完整的HTTP数据包,这就是我的地方需要一些帮助.
在期待中感谢!!
这真的很简单.只需从pcap获取以太网帧并从中提取IP数据包,重新组合任何碎片.然后,根据序列号重新排序IP数据包中的TCP段,注意您丢弃任何重复数据.然后,将流处理为HTTP流.当然,HTTP不包含在数据包中; 它是一个应用层协议,但我相信一旦你完成了所有这些其他工作,这将是显而易见的.在执行所有这些操作时要注意校验IP标头和TCP段,以确保您的数据正确无误.此外,如果pcap碰巧丢失任何数据包,请确保您正确处理此问题.
为了帮助您,Linux TCP堆栈应该在内核中提供对此过程的简明引用.
您可以使用tcptrace重新组合pcap文件,而不是重新组合您自己的流.我相信-e
会这样做.
一旦将应用程序层数据整合在一起,就可以应用简单的HTTP头解析....来自诸如http://github.com/ry/http-parser等库的Perhps
归档时间: |
|
查看次数: |
22365 次 |
最近记录: |