icmp相关内容

哪个网络层处理对ping的响应?

我最近一直在学习TCP和UDP,我知道ping使用ICMP,所以我也在努力理解这一点。我的理解是,当命令ping google.com运行时,您的计算机通过IP向Google发送一个ECHO请求ICMP包,然后Google用一个ECHO回复消息进行响应。 我的问题是,当服务器使用回应回复消息进行响应时,实际上是什么在处理它?是操作系统的问题吗?它是一种特定的应用程序吗?还是完全是别的原因? ..
发布时间:2022-08-18 09:35:41 其他开发

您能在Java中运行真正的ping命令吗?

过去几周我做了相当多的研究,试图创建一个连接诊断工具,我不太想只检查连接是否可用,而是诊断是否存在抖动、丢包等。 到目前为止,Java似乎不支持真正的ICMP请求,而且有一些解决方法,但都没有实现我想要做的事情。 有人知道是否可以构建此类工具,或者我是否应该开始寻找其他选择? 推荐答案 InetAddress似乎正在尽可能地使用ICMP: https://docs.o ..
发布时间:2022-08-18 09:24:21 其他开发

在Linux中,是什么处理ping?

我想覆盖/更改Linux处理ping ICMP回应请求数据包的方式。 这意味着我要运行自己的服务器来回复传入的ICMP(回应请求或其他)数据包。 但要使其正常工作,我想我需要禁用来自Linux的默认ping ICMP包处理。 但我想不出该怎么做(我甚至不知道用什么来处理ICMP请求……内核?一些用户空间代码?)...我找到的所有内容都是关于使用iptable丢弃ICMP回应请求的。 为了帮助理 ..
发布时间:2022-06-16 09:29:54 服务器开发

InetAddress 类中 isReachable 的问题

作为一项任务,我必须找到 LAN 上所有活动的计算机.为此,我使用了 InetAddress 类的 isReachable 函数.但问题是我没有显示任何东西可以访问.因此,我尝试使用 Google 的 IP 设置 isReachable,但仍然无法访问. 代码如下: import java.net.*;公开课活着{公共静态无效主(字符串参数[]){尝试{InetAddress ia = I ..
发布时间:2021-12-20 10:17:17 Java开发

为什么 ping 在没有管理员权限的情况下也能工作?

如您所知,如果没有管理权限,就无法使用 Windows 套接字 创建 RAW 套接字.问题是,我需要发送 ICMP 消息,因此我需要 RAW 套接字.问题:我的程序需要在没有管理权限的情况下运行. 这就引出了一个问题,ping 工具如何在没有管理权限的情况下发送 ICMP 消息? 解决方案 尽管 ICMP 使用 RAW 套接字(在 Win2K 及更高版本上需要管理员权限),但 Mic ..
发布时间:2021-12-11 11:27:41 其他开发

ICMP 套接字 (linux)

是否可以在IP协议下使用ICMP套接字?也许是这样的: socket(PF_INET, , IPPROTO_ICMP)? 我应该在 字段中输入什么?我看到了一些使用 SOCK_RAW 的例子,但这不会阻止操作系统处理 IP 协议吗? 还有一件事.由于协议不涉及端口,操作系统如何知道他应该将 ICMP 数据报发送到哪个进程? 解决方案 是的,这是可能的,因为 ping 命令 ..
发布时间:2021-12-11 11:26:37 服务器开发

在 Python 中 Ping 服务器

在 Python 中,有没有办法通过 ICMP ping 服务器并在服务器响应时返回 TRUE,如果没有响应则返回 FALSE? 解决方案 此功能适用于任何操作系统(Unix、Linux、macOS 和 Windows) Python 2 和 Python 3 编辑: 由 @radato os.system 替换为 subprocess.call.这避免了shell 注入 漏洞, ..
发布时间:2021-12-02 16:38:14 Python

在 Windows Server 2008 R2 中阻止 ping

我已经在 Windows Server 2008 R2 上部署了我的 Asp.Net Web 应用程序,,我想阻止所有对这个ping的请求强>服务器而不影响我的应用程序. 提前致谢 解决方案 转到开始 → 管理工具 → 具有高级安全性的 Windows 防火墙→ 入站规则 → 文件和打印机共享(回显请求 – ICMPv4-IN)→ 右键单击​​并选择启用规则. 我的应用程序现在 ..
发布时间:2021-09-27 18:31:20 其他开发

Windows 10 通用应用程序中的 ICMP

我希望能够通过 Windows 10 通用应用程序进行一些 ICMP 网络诊断,包括 ping、traceroute 等. 但是,System.Net.NetworkInformation.Ping 类似乎无法用于存储应用程序和创建新的 System.Net.Sockets.Socket当我尝试时,ProtocolType.Icmp 不可用. 我在 Internet 上可以找到的有关此 ..
发布时间:2021-09-26 18:36:30 其他开发

UDP 套接字无法接收 ECONNREFUSED

我使用:socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP) 创建了一个套接字. 根据this,如果我多次发送简单数据包(乘以 send() 和/或 sendto()),我可以得到 ECONNREFUSED.ICMP 应该告诉之前的数据包没有到达并且 ECONNREFUSED 应该出现.但它失败了,errno 不报告任何错误,并且 send() 总是返回发送的字节 ..
发布时间:2021-09-12 19:29:23 其他开发

“已连接"UDP 套接字接收 ICMP 端口不可达

基于 UDP 是无连接协议的前提,我假设主机是启动还是关闭都无关紧要. 然而,现在我正在做测试,我发现当我“连接"我的 UDP 客户端套接字时,对该套接字的 write 返回一个错误,因为服务器已经发回了一个ICMP 端口不可达错误.. “连接"UDP 端口的目的(根据 Stevens Unix Network Programming)基本上是缓存路由表中的条目,而不是创建一个新的每个 ..
发布时间:2021-09-12 19:28:20 Java开发

对无法到达的目的地进行 ICMP 回显请求/回复的正确过程是什么?

目标: 我需要能够 ping 网络交换机以确定它是否可用.这是为了告诉用户网络电缆被拔掉,网络交换机不可用,或者网络通信路径中存在一些其他问题.我意识到这不是一个全面的诊断工具,但有总比没有好. 设计: 我计划使用带有原始套接字的 ICMP 以 IPv4 点符号向特定地址发送五 (5) 条 ping 消息.我将在套接字上设置一个 ICMP 过滤器,并且不会创建我自己的 IP 标头 ..
发布时间:2021-09-04 19:56:58 C/C++开发

如何构建伪造的ICMP“目标不可达"Type 3 Code 4 数据包

我创建了类型 3 和代码 4 的伪造目标无法到达的 ICMP(需要分段并且设置了 DF 位).我的设置有服务器、客户端和它们之间的切换.理想情况下,这个 ICMP 是由路由器/网关生成的,但我是在客户端生成的.我正在使用 Scapy 工具创建这个 ICMP.这是我的创建方式: ip = IP()icmp = icmp()#发送给客户端的IP包ip.dst = ip_serverip.src = ..
发布时间:2021-07-16 18:58:52 其他开发

根据其 IP 地址检查网络上的另一台设备是否处于活动状态

我正在尝试编写一个简单的 UWP IoT 应用程序,该应用程序将在 Raspberry Pi 上的 Windows 10 IoT Core 上运行. 应用程序需要测试本地网络上当前是否有另一台设备处于活动状态.所有应用程序都知道其他设备的 IP 地址. 我从其他 SO 问题中看到 Ping 不受支持,因为 ICMP 是 WinRT 不支持.我认为 UWP 也是如此? 我想我可以创 ..
发布时间:2021-07-02 20:26:18 C#/.NET

ICMP 头和 IP 头校验和计算

icmp header checksum 和 ip header checksum 计算方法一样吗?我的意思是,它们可能很相似.但我发现了this ip 头校验和的代码.我也可以将此代码用于 icmp 标头校验和吗?任何其他帮助都会很棒. unsigned short cksum(struct ip *ip, int len){长和 = 0;/* 假设 32 位长,16 位短 */而(长度> ..
发布时间:2021-06-07 19:47:47 其他开发

Scapy - 函数“sr1()"不返回响应包

大家好,我在 Windows 10 上的 Python 3 中遇到了 Scapy 问题.我尝试向我的默认网关发送 Ping (ICMP) 请求.这是数据包命令: p = IP(dst='10.0.0.138')/ICMP(type='echo-r​​equest')/Raw('Hello') 但是在我写完 r = sr1(ping) 之后,程序卡在这个输出上: 开始发射:完成发送 1 个数据 ..
发布时间:2021-06-07 19:46:02 Python

为什么 echo ping 没有到达目的地?

我正在尝试使用原始套接字自己实现 ICMP 回显 ping 数据包.在我的 Linux 机器上执行 tcpdump 时,我发现 Echo ping 请求已成功发送,但是当我使用 Wireshark 观察 Windows 机器中传入的数据包时,没有观察到传入的 ICMP 请求. 我编写了以下代码来实现 ICMP 回显请求和回复. #include #include #include #inc ..
发布时间:2021-06-07 19:42:24 其他开发

ICMP 是传输层协议吗?

我正在观看有关网络的视频讲座,讲师在那里提到 ICMP 作为传输层协议.然而,谷歌搜索它显示了各种论坛将其描述为网络层协议.这让我很困惑.有人能解释一下吗? 解决方案 传输层协议关注从端到端发送数据并确保(或明确不确保)可靠性.TCP 用于从一台计算机向另一台计算机发送数据,包括确保数据正确传输所需的逻辑,而 UDP 用于从一台计算机向另一台计算机发送数据,同时希望获得可靠性. IC ..
发布时间:2021-06-07 19:33:56 其他开发

关于ICMP“需要分段,DF位设置"或 ICMP 数据包太大消息

我正在将 ICMP“需要分段,DF 位设置"注入服务器,理想情况下,服务器应该开始发送 ICMP 中“下一跳 MTU"字段中提到的大小的数据包.但这不起作用. 这是服务器代码: #!/usr/bin/env pythonimport socket # 导入socket模块导入时间导入操作系统范围= [1,2,3,4,5,6,7,8,9]s = socket.socket() # 创建一个s ..
发布时间:2021-06-07 19:33:06 其他开发

ICMP 回显数据包的最大合法大小

谁能解释一下为什么ICMP回声数据包的最大合法大小计算如下: 65535 - 20 - 8 = 65507 谢谢. 解决方案 65535 字节是 IPv4 网络数据包的最大允许大小,而 20 和 8 是 IP 和 ICMP 标头的大小,最多留下 65507 字节用于 ICMP 数据. ..
发布时间:2021-06-07 19:26:28 其他开发