标签: icmp

启用 ICMP 数据包后无法 ping EC2 实例

我按照本指南允许我 ping 我的 EC2 实例。在我的安全组中,我有自定义 ICMP 规则 - IPv4、Echo Reply、N/A、Anywhere。

然而,它根本不起作用。如果我运行 ping ec2-XXXX.ap-northeast-1.compute.amazonaws.com,或者如果我运行 ping XXXX,它就会永远挂起。如何解决这个问题?

我的 VPC 设置都是默认的。子网路由表启用了 Internet 网关,并且网络 ACL 允许所有流量进出。

firewall ping icmp amazon-ec2 security-groups

6
推荐指数
1
解决办法
874
查看次数

为什么 224.0.0.1 流量会被 Linux 主机过滤?

当向目标地址(例如 )发送 ICMPv4 echo 请求时224.0.0.1,接收请求的 Linux 主机会忽略该请求。使用的目标 MAC 地址是01:00:5e:00:00:01

让这些 Linux 主机应答的唯一方法是将 Kernel 参数设置net.ipv4.icmp_echo_ignore_broadcasts为 value 0。这将指示内核响应多播和广播 ICMPv4 请求,并为广播安全威胁打开大门。

为什么组播流量通过该参数过滤?有任何攻击可以证明其合理性吗?

使用 ICMPv6 和等效目标地址(如 )ff02::1,流量不会被 Linux 主机过滤。未来是否存在被过滤的风险?ICMPv4 是否存在 ICMPv6 不存在的威胁?

Linux 主机:

  • Linux 发行版:Ubuntu 20.04.1 LTS Focal
  • Linux内核:5.4.0

multicast icmp linux-kernel ipv4

6
推荐指数
1
解决办法
7998
查看次数

ping -f 显示问题,但常规 ping 不显示

我有一个奇怪的问题,托管在 Softlayer 华盛顿数据中心。

从 EC2 实例到我在 Softlayer 的服务器的测试:-

[root@EC2-box ~]# ping -f -c 100 MY-SL-BOX
PING MY-SL-BOX (MY-SL-BOX) 56(84) bytes of data.
..................................................
--- MY-SL-BOX ping statistics ---
100 packets transmitted, 50 received, 50% packet loss, time 743ms
rtt min/avg/max/mdev = 2.464/2.906/3.606/0.220 ms, ipg/ewma 7.505/2.927 ms
[root@EC2-box ~]# 
Run Code Online (Sandbox Code Playgroud)

从 EC2 实例到 www.softlayer.com(或任何其他网站)的测试:-

[root@EC2-box ~]# ping -f -c 100 www.softlayer.com
PING www.softlayer.com (66.228.118.51) 56(84) bytes of data.

--- www.softlayer.com ping statistics ---
100 packets transmitted, 100 received, 0% packet loss, time …
Run Code Online (Sandbox Code Playgroud)

networking linux ping icmp

5
推荐指数
1
解决办法
7485
查看次数

如何在 Cisco ASA 55xx 路由器上允许 ICMP 回声请求?

我对管理 Cisco 设备很陌生,请耐心等待。

我正在为我的办公室配置 Cisco ASA 5505 路由器,并且我有足够的能力使用控制台来配置基础——我们的业务需求并不奢侈。然而,我们的 ping 被路由器丢弃了。

如何配置路由器以允许 ICMP Echo 请求?是否应该允许其他类型的 ICMP 请求?全部允许它们有哪些潜在的缺点?

cisco icmp cisco-asa

5
推荐指数
1
解决办法
9万
查看次数

ICMP 可靠性

假设有人发送了一个 UDP 数据包,就像一个traceroute实现一样。该数据包在 IP 标头中的 TTL 为 1,导致第一个路由器丢弃它并向发送方生成一个 ICMP Time Exceeded 回复。

路由器是否有任何保证发送方收到它生成并发送的ICMP Time Exceeded错误消息?

ICMP 是在 UDP 之上实现的吗?如果是,是否有任何错误控制机制作为 ICMP 的一部分实施?

我想要一个非常基本的简单答案,我只是想我会以几种方式解决这个问题,这样会更清楚。

icmp network-protocols

5
推荐指数
1
解决办法
1924
查看次数

通过 VPN 隧道进行 Nmap ping 扫描会返回所有活动的主机吗?

我很好奇为什么nmap -sP在通过 Cisco 站点到站点 IPSec 隧道链接的远程子网上运行(ping 扫描)会返回范围内每个 IP 的“主机启动”状态。

[root@xt ~]# nmap -sP 192.168.108.*
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2012-11-22 14:08 CST
Host 192.168.108.0 appears to be up.
Host 192.168.108.1 appears to be up.
Host 192.168.108.2 appears to be up.
Host 192.168.108.3 appears to be up.
Host 192.168.108.4 appears to be up.
Host 192.168.108.5 appears to be up.
.
.
.
Host 192.168.108.252 appears to be up.
Host 192.168.108.253 appears to be up.
Host 192.168.108.254 appears …
Run Code Online (Sandbox Code Playgroud)

vpn icmp cisco-vpn nmap

5
推荐指数
1
解决办法
9212
查看次数

由于 ICMP 主机不可达,Linux ping 命令提前退出

一个自动化脚本shutdown -r now在一台机器上运行,在 30 秒的延迟后,使用 ping 来确定机器何时可用。我最近将操作系统从 Centos 5 切换到 Oracle Linux 6,发现 ping 的行为发生了变化。

我将 ping 与计数 (-c10)、截止日期 (-w360) 和延迟 (-W1) 一起使用,这应该最多等待五分钟才能收到来自机器的 10 次成功回复。

我观察到我自己的机器Destination Host Unreachable在 30 秒后生成消息,导致ping在 3 个错误后退出,即。远在我想要的截止日期之前。例如在 ~37 秒后退出的示例:

[cs@bst1 ~]# time ping -c10 -w360 -W1 hostother; echo $?
PING hostother (10.210.51.155) 56(84) bytes of data.
From bst1 (10.210.51.139) icmp_seq=36 Destination Host Unreachable
From bst1 (10.210.51.139) icmp_seq=37 Destination Host Unreachable
From bst1 (10.210.51.139) icmp_seq=38 Destination Host Unreachable

--- hostother …
Run Code Online (Sandbox Code Playgroud)

linux ping icmp

5
推荐指数
1
解决办法
4627
查看次数

观察到(接受的)ICMP 重定向多长时间,我该如何缩短该时间?

如果 Linux 主机接收并接受 ICMP 重定向(accept_redirects=1在有问题的接口上),该路由被缓存和观察多长时间?我可以降低那个时间吗?

我之所以这么问,是因为我有许多系统被虚假路由毒害,这些路由很可能源于不幸的 ICMP 重定向:

$ ip route get 10.2.2.2 10.2.2.2 via 10.2.2.2 dev eth0 src 10.1.1.2 cache <redirected>

并且他们根本没有忘记重定向,即使在收到最后一个 ICMP 重定向后超过 12 小时!我必须手动ip route flush cache删除条目并恢复正确的路线:

$ ip route get 10.2.2.2 10.2.2.2 via 10.1.1.1 dev eth0 src 10.1.1.2 cache

我知道首先发送、接收和接受 ICMP 重定向的方式和原因,这个问题与此无关。


我认为这与问题无关,但这里有一些细节:

我们有一个内部网络,比如说 10.1.0.0/16。其中一台机器 10.1.1.1 是 OpenVPN 服务器,远程客户端在 10.2.0.0/16 内获得分配的地址。其他内部机器有一个静态路由 10.0.0.0/8 --> 10.1.1.1。它故意比 10.2.0.0/16 更宽,因为 VPN 服务器将来可能会服务更多的客户端。

不幸的是,我们的配置管理将更广泛的静态路由 10/8-->10.1.1.1 也推送到 VPN 服务器本身,它被建立为 10/8-->eth0。这种不必要的路线通常没有任何效果。

在正常情况下,此设置工作正常。但后来发生了这样的事情:

  • VPN 服务器 10.1.1.1 重新启动
  • 其他一些内部主机(比如 …

networking linux routing icmp ip-routing

5
推荐指数
1
解决办法
815
查看次数

什么导致重复的 ICMP ECHO 响应?

我以前从未见过这种情况,也没有同事和前同事,他们都在小型 ISP 运营方面具有相当强大的背景。

是什么导致了这么多重复的 ICMP ECHO 响应?

$ ping -n x.com
PING x.com (196.x.y.z) 56(84) bytes of data.
64 bytes from 196.x.y.z: icmp_req=1 ttl=120 time=51.8 ms
64 bytes from 196.x.y.z: icmp_req=1 ttl=120 time=51.8 ms (DUP!)
64 bytes from 196.x.y.z: icmp_req=1 ttl=120 time=52.3 ms (DUP!)
64 bytes from 196.x.y.z: icmp_req=1 ttl=120 time=52.7 ms (DUP!)
64 bytes from 196.x.y.z: icmp_req=1 ttl=120 time=53.6 ms (DUP!)
64 bytes from 196.x.y.z: icmp_req=2 ttl=120 time=92.2 ms
64 bytes from 196.x.y.z: icmp_req=2 ttl=120 time=92.6 ms (DUP!)
64 …
Run Code Online (Sandbox Code Playgroud)

networking ip icmp

4
推荐指数
1
解决办法
2万
查看次数

ping 本地网络上不存在的主机时,接口上的 tcpdump

我在服务器上静态配置了一个接口的 IP 地址:

ip addr add 10.40.0.6/16 broadcast 10.40.255.255 dev eth1
Run Code Online (Sandbox Code Playgroud)

如果我尝试 ping 网络上的机器(例如 10.40.0.1),它会失败并显示“目标主机无法访问”。

当 ping 运行时,如果我执行以下操作,我根本看不到任何活动

tcpdump -i eth1 icmp
Run Code Online (Sandbox Code Playgroud)

但是,如果我改为监听回送接口:

tcpdump -i lo icmp
Run Code Online (Sandbox Code Playgroud)

然后我看到类似的东西:

16:02:57.369632 IP 10.40.0.6 > 10.40.0.6: ICMP host 10.40.0.1 unreachable, length 92
Run Code Online (Sandbox Code Playgroud)

我的问题是:为什么 ICMP 数据包没有通过 eth1 接口显示出来?

编辑:

# ip r ls
10.40.0.0/16 dev eth1 proto kernel scope link src 10.40.0.6
Run Code Online (Sandbox Code Playgroud)

networking linux arp ping icmp

4
推荐指数
1
解决办法
2500
查看次数