问题标签 [traceroute]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1356 浏览

python - 在没有root的Python中实现UDP traceroute

我正在尝试在 Python 2.6 中实现 UDP traceroute 解决方案,但我无法理解为什么我需要 root 权限才能执行与操作系统附带的 traceroute 实用程序相同的操作。

运行此代码的环境将非常怀疑具有 root 权限,所以我是否更有可能不得不放弃 python 实现并编写一些东西来解析 UDP 模式下 OS 跟踪路由的输出?或者我在打开一个配置为self.rx = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_UDP). 似乎socket.SOCK_RAW没有 root 权限是无法访问的,这有效地阻止了我使用在 python 中实现它所需的数据。

0 投票
4 回答
100562 浏览

traceroute - tracert 命令返回超时

tracert 返回请求的超时。我从中了解到的是数据包在网络上的某些地方丢失了。

这是否意味着问题出在 ISP 或托管服务提供商或我的 Windows 系统上?

前 9 次成功。

0 投票
0 回答
875 浏览

c - 对于虚拟机中具有小 TTL 的 UDP 数据包,无法接收 ICMP TTL 超出数据包

我写了一个程序,它使用原始套接字发送 TTL=1 的 UDP 数据包,当我在本地主机上运行这个程序时,我可以接收 ICMP 数据包。但是当我在 Planetlab 节点上运行它时,它无法接收 ICMP 数据包。

在planetlab 节点上,每个节点由多个用户共享,每个用户只分配一个虚拟切片。所以一般来说,只有当你有一个进程绑定到特定端口时,你才能从那个端口接收数据包,否则,随机数据包不能被系统传送到你的切片。

但是我下载了traceroute源代码并在planetlab节点上运行,它可以接收到ICMP TTL超过的数据包。

即:我使用 tcpdump 在 Planetlab 节点上捕获 ICMP 数据包。当我运行程序发送 TTL=1 的 UDP 数据包时,tcpdump 无法捕获 ICMP 数据包,但是当我使用 traceroute 发送 TTL=1 的 UDP 数据包时,tcpdump 可以捕获 ICMP 数据包。

这种差异的潜在原因是什么?

谢谢!

我的一些源代码:

0 投票
0 回答
199 浏览

ruby - 为什么我收不到 ICMP 消息?

我想制作一个没有任何库的简单跟踪路由。

在 Wireshark 中,我看到了传入的响应,但我无法接收到消息。的端口与receive_socket的端口相同send_socket,并且指定的协议应该是正确的。

如果有人能帮助我,那就太好了。

0 投票
2 回答
2642 浏览

java - Java - 跟踪路由的 API 支持?

无论如何我可以在java中获得traceroute的输出。我知道我可以使用 exec 但我想知道是否有任何 API 可以为我获取输出而不用担心平台。

0 投票
1 回答
372 浏览

java - 使用 InetAddress.isReachable 方法获取中间跃点

InetAddress.isReachable(NetworkInterface , int ttl, int timeOut) 如果从 ttl 的跳数可以到达特定地址,则返回 true,否则返回 false。

我还可以知道它从哪个 IP 地址获得成功或失败消息吗?我的意思是我可以拥有 isReachable 从中获得成功或失败响应的中间跃点的 IP。

0 投票
1 回答
734 浏览

php - Traceroute 脚本从错误的 IP 进行跟踪

我已经编写了一个脚本,用于对主机/IP 进行跟踪路由,由于某种原因,它是从我的服务器而不是从使用它的本地用户跟踪出来的。如果我在终端中拉出跟踪路由,则输出完全不同。

可以在这里尝试 http://beta.tracert.us 我试图弄乱代码但似乎无法得到它。我只是想把它作为一个工作实用程序,对于那些会使用它的人来说,因为其他实用程序在工作中有点滞后。
非常感谢任何和所有帮助

0 投票
1 回答
209 浏览

networking - 向客户提供“私人 WAN”的互联网提供商?

这很奇怪。这实际上是如何工作的。到目前为止,我知道拥有这样的网络是“不可能的”。我将详细解释我的网络是如何工作的。

我有一个局域网。192.168.1.0/24 和路由器在 192.168.1.1,这个路由器有一个公共地址。我可以共享 IP 地址,因为我在那里运行一个服务器进行测试,仅此而已。到目前为止还可以。现在魔术发生了。当我跟踪到 IP 的路由时,我得到了这个(到谷歌 DNS):

什么是第 2、第 3 和第 4 跳?当 192.168.1.1 运行 NAT 服务时,它如何位于 A 类私有地址上,其中我有我的 LAN 和我的外部 3 个公共地址(是的,我有 3 个并且是 88、89、93 网络上的 3 个“A 类”IP) .

另一件事是如何在第 4 跳我们有第 2 个八位字节 255?

任何人都可以随意跟踪我的无 IP 域:synackfiles.no-ip.org 只是不要弄乱我的路由器(如果您进行端口扫描或无法登录 ssh 或 http 身份验证,它会阻塞,因此您会因此被禁止。如果你只是跟踪路由就可以了):P

现在,第二个魔法和奇怪的事情发生了。我要运行nmap。所以我明白了:

嗯,这很奇怪。我不知道我国的广域网是如何设计和建造的。我来自葡萄牙,我的 ISP 是“ZON TVCABO”。您现在可以搜索。:P 这非常非常非常有趣..

真挚地,

整数3

0 投票
1 回答
922 浏览

c - 通过虚拟机使用 gcc 编译时出现问题

我目前正在尝试traceroutet.c通过运行 Ubuntu 的虚拟机编译我的文件,我认为这是导致问题的原因。我也在通过我大学的 VPN 访问文件,这会导致问题吗?

每当我尝试使用 vm 的终端进行编译时,gcc -o traceroutet traceroutet.c都会出现以下错误:

traceroutet.c:13:16: fatal error: ip.h: No such file or directory

compilation terminated

问题是,我的头文件保存在与源文件相同的文件夹中,所以我认为gcc -o可以在这里工作?我也尝试过-I/h/SCC203/Lab 2/ip.c在编译时使用,但我得到了类似的错误。

我已经使用gcc了一段时间了,从来没有遇到过问题,所以我猜这与虚拟机或VPN有关?

0 投票
1 回答
3738 浏览

android - Android traceroute, ping, dnslookup

I want to implement traceroute/ping/dns lookup in the my application. For ping i use a ProcessBuilder:

But how can i use a traceroute and dns lookup? Is it possible without root? Thx.