我正在尝试为普通用户(没有管理员权限)可以使用的MS Windows找到traceroute程序实现,但找不到任何。我可以找到的那些文件(例如tracetcp或nmap)需要PCAP库,并且为了安装winpcap,我认为需要管理权限。
我对Windows内部知识了解不多,但我想知道背后的“魔术”是什么。如果MS随Win OS一起提供的tracert对于普通用户而言运行良好(但只能使用ICMP),那么普通用户为TCP / UDP数据包设置TTL并在套接字上接收到相应的响应就不会有任何问题(技术限制) :
所以基本上:
我知道,最流行的带有-T选项的Linux traceroute(用于使用SYN探针)也需要root特权,但是我认为这只是因为它不想完成完整的TCP握手,并且在收到SYN-ACK之后不希望发送RST可能仅限root用户。无论如何,只要qq可以由reqular用户设置(对于UDP,它似乎可以正常工作),那么我想应该可以为非root Linux用户实现完整的TCP握手的TCP traceroute? 顺便说一下,由于使用RAW套接字,ICMP跟踪路由也需要管理员权限,但令人惊讶的是,对于Windows来说,这似乎不是问题。
答案 0 :(得分:0)
可悲的是,对您的问题的简单回答是“不,没有Windows盒子上的本地方法”。
对于您的特定用例我不太确定,但是可以尝试的方法之一是评估Power Shell是否具有更多帮助您的功能。 Microsoft的Jose Baretto撰写了一篇文章,介绍了有关通用网络命令的Power Shell等效项。您可以在这里找到它:
否则,您唯一的选择是(正如您自己提到的)第三方工具,并且很难找到不需要提升特权的工具。