cmd上运行traceroute命令得到的结果和使用scapy sr函数得到的结果为啥不一样
时间: 2023-01-17 12:46:03 浏览: 522
traceroute 命令是用来检测网络中各路由器之间的连通性的工具。它使用 Internet Control Message Protocol (ICMP) 协议来实现。它在发送数据包时会指定一个较小的 Time-To-Live (TTL) 值,并随着每经过一个路由器而减小 1。当数据包的 TTL 值为 0 时,路由器会将数据包丢弃,并向发送方返回一个错误消息。traceroute 命令每次将 TTL 值增加 1,并重新发送数据包,直到到达目的地为止。这样,traceroute 命令就能够收集到数据包在网络中经过的路由器的信息。
scapy 是一个用 Python 编写的网络数据包处理库。sr 函数是 scapy 中的一个函数,用于发送和接收数据包。与 traceroute 命令不同的是,sr 函数可以自定义数据包的各种参数,如数据包类型、协议、TTL 值等。因此,scapy 的 sr 函数可以用来发送 traceroute 数据包,但可能会有所不同。
所以,traceroute 命令和 scapy 的 sr 函数得到的结果可能不同,是因为它们使用的协议和方法不同。
阅读全文