问题标签 [icmp]
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.
ip - Traceroute如何知道Hops的域名?
我正在研究 ICMP 协议和工具traceroute。我不明白如果在 ICMP 数据报中只能找到 IP,traceroute 如何查找 Hops 的域名。它是如何工作的?
谢谢!
c++ - 如何将 IcmpSendEcho2 与 PIO_APC_ROUTINE 一起使用?
我是一个 c++ 新手,我正在尝试用IcmpSendEcho2制作一个“ping 工具”,但我无法让它与 APC 一起使用。
我遇到了这个编译错误:
这是我的 APC 声明:
这是我的 APC 定义:
这就是我制作 IcmpSendEcho2 的方式:
我以为 '(PIO_APC_Rountine) GotIt' 会这样做,因为我找到了这个,但显然我错过了一些东西。
如果您需要任何其他信息,请告诉我。
提前致谢。
python - 没有收到所有 ICMP 超时消息:为什么?
我正在使用 Scapy 重放一些我更改 TTL 值的转储数据包。即使 TTL=1,我也得到了非常奇怪的结果。
当我彼此分开运行测试时间时,大约有 40% 到 95% 的数据包回复了 ICMP 超时消息。然后我可以递归地重放未应答的数据包,并且每次都或多或少地获得与以前相同百分比的已应答数据包。
这是为什么?
我一直在以 0.1 秒的间隔发送数据包。这应该没问题吧?我的超时值是10s,应该很保守。
这里有什么问题?
c++ - Windows 套接字错误 10013
这是程序的代码,它应该发送一个简单的“ping”。我知道我可以使用IcmpSendEcho2()
函数,但我决定这样做:
这就是问题所在。一切正常,直到它sendto()
发挥作用。我收到一个 10013 错误代码表单WSAGetLastError()
,这意味着WSAEACCES Permission denied
我以管理员权限启动了这个应用程序,所以我不知道为什么我不能使用这个套接字配置发送数据。
c# - TcpClient 超时 ICMP 端口不可达
我得到以下代码:
服务器立即发回一个 ICMP 端口不可达,但程序需要大约 30 秒才能超时并出现 10054 错误。
我关闭了防火墙,wireshark 也在捕获数据包,所以这不是 windows 配置问题。
如何让 TcpClient 识别端口无法访问的数据包?
c - icmp.c 检查过期的地方
在kernel-3.0.26 code net/ipv6/icmp.c
,在发送 ICMP 回复时,它会检查计时器是否到期。它应该检查路由器广告给出的值吗?我认为到期值存储在rt->rt6_expires
(ndisc.c
第 1284 行)中。然后在发送 ICMP 回复时,它应该检查到期计时器,对吗?检查是在哪里进行的?请有人给我解释一下。
先感谢您。对不起,我的英语不好。
size - ICMP 类型 11 数据包有效负载的大小
类型为 11 时,即超过时间,ICMP 数据包负载的大小是多少?由于它包含一个 IP 标头和生成 ICMP 消息的 IP 数据包有效负载的前 8 个字节,我认为它的大小是 20 + 8 = 28。
我正在重放一些 TTL=1 的常见用户流量。在我转储的 ICMP 消息中,我注意到:
- UDP 数据包生成的所有 ICMP 数据包的有效负载大小为 28 字节
- 所有由 TCP 数据包生成的数据包的有效负载大小为 40 字节
由于我需要通过比较这些字节来将 ICMP 超时消息与触发它们的数据包相匹配,因此这条信息是必不可少的,但我无法弄清楚为什么会发生这种情况。
python - Scapy 中的错误行为
我使用 Scapy 的功能send
发送数据包,这些数据包将在路由器上生成 ICMP 数据包,并将这些 ICMP 数据包转储为tcpdump
,作为子进程启动。
然后,我将使用 scapy 的内置rdpcap
函数将这些 ICMP 数据包读回我的程序。
好吧,事实证明rdpcap
有时会搞砸一些事情,只要我想查看我捕获的数据包,它就会返回以下内容:
然后,我只需要rdpcap
再次调用相同的参数,一切都会恢复正常:
这是一些错误,对吧?
编辑:好的,在我得到那个错误之前我做的一件事是以下,这可能不是太正统,但是当我伪造数据包时我不需要以太网层。如果我删除这两行,我不会收到任何此类错误:
我以前在其他地方做过这个,从来没有遇到过问题。这里发生了什么事?
java - 从 Java 应用程序测量 Pingtime 到主机
我正在寻找一种方法来测量对服务器列表的 ping 延迟时间。重要的是,尽可能精确地测量实际的数据包延迟,而不是 jvm 计算时间。
此处的答案已涵盖某些方面:如何从 Windows 执行真正的 Java ping?
测量 InetAddress.isReachable(timeout) 的时间我认为这不是一个选项,因为它对我需要 ping 的某些服务器不起作用。
到目前为止,我最接近的是使用 processbuilder,如上面链接中的答案所示。
我还找到了 jpcap 库:http ://netresearch.ics.uci.edu/kfujii/Jpcap/doc/download.html但原生化是有代价的。
python - 如何在 Python 中为 ICMP 消息设置源地址?
我正在尝试更改ping 的这种实现,以便可以为消息设置不同的源地址。我想做的-S
与原始 ping 的选项可以做的完全一样:
这当然有效,但我想用 Python 做同样的事情。