我想编写一个perl脚本,在其中我从Web服务器下载一个对象并计算数据包的数量,直到整个对象被下载。我想在perl中使用原始套接字。另一种选择是在perl中使用libpcap,但这需要root访问(我相信)我想避免。
有更简单的方法吗?
谢谢,
答案 0 :(得分:1)
原始套接字和libpcap都需要root访问权限(或CAP_NET_ADMIN),所以没有优势。
实际上,原始套接字方法可能比libpcap方法稍微清晰一些,但它要求您从头开始编写自己的TCP堆栈。既然你几乎肯定不想这样做,我会推荐libpcap方法。
另一种方法可能是使用iptables来计算数据包,但它不可移植(需要Linux),但它仍然不会删除根访问要求。