问题标签 [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.

0 投票
1 回答
3428 浏览

networking - 嗅探检测

有人能告诉我“测试 ICMP”到底是如何工作的吗?(在本地网络中检测嗅探的方法之一)

0 投票
4 回答
1627 浏览

linux - 如何记录每个 ICMP 回复消息

我遇到了这个问题,我们如何在 GNU/Linux 中找到 ICMP 回复消息的 IP 地址?

0 投票
2 回答
2051 浏览

java - 如何使用 Java 库 (JpCap) 发送 Ping6 请求

我想使用 ping6 请求监控 ipv6 设备。请让我知道是否有任何开源库可用于发送和接收 Ping6 请求。我尝试使用 JpCap 但无法成功,并且收到以下错误消息

java.io.IOException: 在 Ping6.sendPing6Request(Ping6.java:131) 在 Ping6.main( Ping6.java:40)

请帮助我如何解决这个问题。有什么方法可以使用 JpCap 发送 Ping6,

非常感谢您的想法。

-R.拉维库玛

我的实现如下所示,

0 投票
2 回答
441 浏览

ruby - 由于 UDP 发送到 Ruby 中的死客户端,如何获取传入 ICMP 的 IP?

所以.. 我正在做一个阻止 UDP 和 IO.select 的小型多人游戏。对于我的问题..(在服务器中)从刚刚向死客户端发送数据包的 UDP 套接字()读取packet, sender = @socket.recvfrom(1000)会导致 ICMP 无法访问(并且Errno::ECONNRESET在 ruby​​ 中出现异常)。问题是我找不到任何方法来提取该 ICMP 的 IP .. 所以我可以清除那个死客户端。

任何人都知道如何实现这一目标?

谢谢

0 投票
1 回答
803 浏览

c - ICMP 主机不可达

在尝试向 UDP 端口发送一些数据后,我如何知道 ICMP 主机是否无法访问?我想检查机器上打开的 UDP 端口。

0 投票
3 回答
24144 浏览

java - InetAddress 类中 isReachable 的问题

作为一项任务,我必须找到局域网上所有可用的计算机。我正在使用类isReachable的功能InetAddress。但问题是我没有发现任何东西。因此,我尝试isReachable使用 Google 的 IP,但仍然无法访问。

这是代码:

输出是:Unreachable

0 投票
1 回答
1818 浏览

winapi - 将 IcmpSendEcho2 与异步回调一起使用

我一直在阅读IcmpSendEcho2 的 MSDN 文档,它提出的问题多于回答的问题。

我熟悉来自其他 Win32 API 的异步回调,例如ReadFileEx...IO_PENDING失败(并打电话GetCompletionStatus查明是哪一个)。超时是我的责任,我可以调用CancelIo来中止处理,但缓冲区仍然保留,直到驱动程序取消操作并调用我的完成例程,状态为CANCELLED. 并且有一个OVERLAPPED结构可以通过所有这些唯一地标识请求。

IcmpSendEcho2OVERLAPPED为异步请求使用上下文结构。如果 ping 超时或失败(故障可能是缺少网络连接、本地对等方缺少 ARP 条目、来自远程对等方的中间路由器的 ICMP 目标无法到达响应等),文档不清楚。

有谁知道回调是否发生在超时和/或失败时?特别是,如果没有响应,我可以将缓冲区重新用于另一个调用,IcmpSendEcho2还是永久保留以防回复迟到?

我想从 Win32 服务中使用这个函数,这意味着我必须正确处理错误处理情况,我不能只泄漏缓冲区(或者如果 API 确实泄漏缓冲区,我必须使用辅助进程所以我有办法放弃请求)。

回调的方式也有一个丑陋的不兼容。看起来第一个参数在两个签名之间是一致的,所以PIO_APC_ROUTINE只要我只在操作系统版本检查返回 Vista 或更新版本时才使用第二个参数,我就应该能够使用更新的参数?尽管 MSDN 说“不要进行 Windows 版本检查”,但似乎我需要这样做,因为带有新参数的版本集与 iphlpapi.dll 中存在该函数的版本集不同。

指向使用此功能和 APC 的其他文档或工作代码的指针将不胜感激。

如果这完全是错误的方法,请告诉我——即,如果使用原始套接字或IcmpCreateFile++的WriteFileEx某种组合ReadFileEx会更健壮。

0 投票
2 回答
10659 浏览

networking - Problem with pinging broadcast address

When I try to ping the broadcast address on my LAN, it shows ICMP replies from only 3 hosts, everytime, even though there many hosts connected to the LAN.

For the broadcast address, I did

I used the Bcast addr 172.30.127.255 to ping everyone...

Why is that only 3 hosts respond to my ping. Is this bcast address given by ifconfig not the one to be used? I think this might be the reason why I am not able to carry out an amplification attack on a system on my LAN. I injected ICMP-echo packets with spoofed source address of my friend's host and sent it to this broadcast address, and was disappointed to see that his bandwidth was not affected...

Kindly explain...

0 投票
3 回答
1983 浏览

c - 用 C 编写一个基本的 traceroute 脚本

我必须编写一个 trceroute 脚本,但我不确定我的尝试是否正确。

现在我正在这样做(如果我做错或笨拙,请纠正我):

  1. 得到了 ip- 和 udpheader 的结构
  2. 校验和函数
  3. 打开 2 个套接字:一个用于以 SOCK_RAW 模式发送 UDP 数据包(用于操作 ttl),一个用于从路由器接收 ICMP 应答。
  4. 使用 sendto() 发送 UDP 数据包
  5. 不知道如何接收和处理 ICMP 答案

有没有比使用 sock_raw 我必须自己定义所有标题内容更舒适的方法来更改 TTL?打开 ICMP sock 时我应该为 socket() 使用哪些参数?如何接收 ICMP 答复?

0 投票
1 回答
9820 浏览

c - Send an UDP packet and receive an ICMP response from router in C

I'm trying write a C program that sends an UDP packet to a given IP adress and waits for an ICMP response of a router telling that the time to live expired. It's kept very simple because I just want to understand the mechanism at first. What I need is someone checking my code giving feedback on what's wrong and what's missing. I'm very unexperienced at C-programming but I have to do it as an assignment - giving my best to understand it...

I keep receiving "Could not process recvmsg()." and I have no clue anymore what else to try. I'd like to receive an ICMP answer and read its senders IP-Address.

Looking forward to helpfull hints.

Best regards!