我试图为MS找到traceroute程序实现,它可以被普通用户使用(没有管理权限),但我找不到任何。那些我可以找到的(如tracetcp或nmap)需要PCAP库,为了安装winpcap,我认为需要管理权限。
我不太了解Windows的内部结构,但我想知道背后的“魔力”是什么。如果limitation提供的tracert对常规用户(但只能使用ICMP )正常工作(但只能使用ICMP),那么常规用户为TCP/UDP数据包设置TTL并在套接字上接收相应响应是否存在任何问题(技术限制),例如:
所以基本上:
我知道,最流行的和-T选项(对于使用SYN )也需要根私有,但我假设这只是因为它不想完成完整的TCP握手,并且在接收SYN后发送RST可能会受到根用户的限制。不管怎么说,只要TTL可以由reqular用户设置(对于UDP,它似乎工作得很好),那么我可以想象完成TCP完全握手的TCP traceroute应该可以为非root linux用户实现吗?顺便说一句,ICMP traceroute也需要管理权限,因为它使用了原始套接字,但令人惊讶的是,对于Windows来说,这似乎不是一个问题。
发布于 2018-11-01 21:07:54
遗憾的是,对你的问题的简单回答是“不,在Windows机器上没有本地的方法可以做到这一点”。
我对您的具体使用程序有点不确定,但有一种方法是评估Power是否有更多的功能可以帮助您解决问题。微软的Jose写了一篇关于Power等效于常见网络命令的文章。你可以在这里找到它:
如果做不到这一点,你唯一的选择就是(正如你自己提到的)第三方工具,你很难找到一个不需要提升特权的工具。
https://stackoverflow.com/questions/53109076
复制相似问题