我想编写一个程序来通过数据包捕获提取系统访问的网站的 URL(IP 地址)。我认为该 URL 将出现在数据部分中(即不在任何标头中 - ethernet / ip / tcp-udp)..(此类程序有时称为http嗅探器,我不应该使用任何可用的工具)。作为初学者,我刚刚完成了这个基本的嗅探器程序:嗅嗅.c http://www.tcpdump.org/sniffex.c..任何人都可以告诉我应该朝哪个方向前进..
注意:在下面的信息中,假设 GET 还包括 POST 和其他 HTTP 方法。
这肯定比查看一个数据包要做更多的工作,但如果您捕获整个流,您应该能够从发送的 HTTP 标头中获取它。
尝试查看 Host 标头(如果已提供),以及 GET 实际请求的内容。 GET 可以是完整的 URL,也可以只是服务器上的文件名。
另请注意,这与从 IP 地址获取域名无关。如果你想要域名,就必须挖掘数据。
我的机器上的快速示例,来自 Wireshark:
GET http://www.google.ca HTTP/1.1
Host: www.google.ca
{other headers follow}
另一个示例,不是来自浏览器,并且 GET 中只有一个路径:
GET /ccnet/XmlStatusReport.aspx HTTP/1.1
Host: example.com
在第二个示例中,实际 URL 是http://example.com/ccnet/XmlStatusReport.aspx http://example.com/ccnet/XmlStatusReport.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)