问题标签 [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.
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 中实现它所需的数据。
traceroute - tracert 命令返回超时
tracert 返回请求的超时。我从中了解到的是数据包在网络上的某些地方丢失了。
这是否意味着问题出在 ISP 或托管服务提供商或我的 Windows 系统上?
前 9 次成功。
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 数据包。
这种差异的潜在原因是什么?
谢谢!
我的一些源代码:
ruby - 为什么我收不到 ICMP 消息?
我想制作一个没有任何库的简单跟踪路由。
在 Wireshark 中,我看到了传入的响应,但我无法接收到消息。的端口与receive_socket
的端口相同send_socket
,并且指定的协议应该是正确的。
如果有人能帮助我,那就太好了。
java - Java - 跟踪路由的 API 支持?
无论如何我可以在java中获得traceroute的输出。我知道我可以使用 exec 但我想知道是否有任何 API 可以为我获取输出而不用担心平台。
java - 使用 InetAddress.isReachable 方法获取中间跃点
InetAddress.isReachable(NetworkInterface , int ttl, int timeOut) 如果从 ttl 的跳数可以到达特定地址,则返回 true,否则返回 false。
我还可以知道它从哪个 IP 地址获得成功或失败消息吗?我的意思是我可以拥有 isReachable 从中获得成功或失败响应的中间跃点的 IP。
php - Traceroute 脚本从错误的 IP 进行跟踪
我已经编写了一个脚本,用于对主机/IP 进行跟踪路由,由于某种原因,它是从我的服务器而不是从使用它的本地用户跟踪出来的。如果我在终端中拉出跟踪路由,则输出完全不同。
可以在这里尝试 http://beta.tracert.us 我试图弄乱代码但似乎无法得到它。我只是想把它作为一个工作实用程序,对于那些会使用它的人来说,因为其他实用程序在工作中有点滞后。
非常感谢任何和所有帮助
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
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有关?
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.