ping如何知道我的数据包已被过滤?


20

我是爱尔兰ISP eircom的客户,该公司已开始审查海盗湾。

当我尝试ping 194.71.107.15thepiratebay.com的IP地址时,得到以下输出:

PING 194.71.107.15 (194.71.107.15) 56(84) bytes of data.
From 159.134.124.176 icmp_seq=1 Packet filtered
From 159.134.124.176 icmp_seq=2 Packet filtered
From 159.134.124.176 icmp_seq=3 Packet filtered

ping如何知道它已被过滤?我如何了解有关其过滤方式的更多信息。我的ping / nmap foo很弱。

Answers:


14

Ping会根据响应回显请求而收到的ICMP控制消息来确定其打印消息。

推测一下,我想像一下Eircom用来阻止访问海盗湾的任何过滤设备都会生成ICMP Type 3代码9(网络管理上禁止)或Type 3 Code 10(主机管理上禁止)消息来响应定向到海盗湾IP地址的流量。

为了确认,我建议运行一个数据包捕获(使用Wireshark或类似工具),并查看您从159.134.124.176返回的ICMP响应数据包。


29

看完之后

从iputils-ping Debian etch包中找到ping.c,我看到:

 
 / *
 *
 * pr_icmph-
 *打印有关ICMP标头的描述性字符串。
 * /
无效pr_icmph(__ u8类型,__ u8代码,__ u32信息,结构icmphdr * icp)
{

...
                情况ICMP_PKT_FILTERED:
                        printf(“数据包已过滤\ n”);
                        打破;
...

看来iptables reject在响应中添加了这个,请参见

http://tomoyo.sourceforge.jp/cgi-bin/lxr/source/net/ipv4/netfilter/ipt_REJECT.c

并搜索“ ICMP_PKT_FILTERED”,尽管这并非唯一使ping响应此类消息的情况。


5
+1用于潜水。
2009年

1
绝对是
squillman's

可能导致此问题的另一件事是(专用)数据包(使用专用/内部IP),这些数据包向外界传播。当VPN连接断开并且到达10.11.12.13的数据包开始从外部系统获得“数据包筛选”响应时,我就已经看到了这一点,而这些响应本来就不应该到达的。另请参见en.wikipedia.org/wiki/IP_address#IPv4_private_addresses
fencepost


1

ping会收到ICMP_DEST_UNREACH,并且根据返回的icmp程序包的类型,ping会知道它已被过滤。


1

我认为这意味着159.134.124.176不允许您的ping达到194.71.107.15,即,它正在(至少)过滤ICMP。当我做同样的事情时,我得到:

\# ping 194.71.107.15
PING 194.71.107.15 (194.71.107.15) 56(84) bytes of data.
64 bytes from 194.71.107.15: icmp_seq=1 ttl=50 time=43.0 ms
64 bytes from 194.71.107.15: icmp_seq=2 ttl=50 time=42.0 ms
64 bytes from 194.71.107.15: icmp_seq=3 ttl=50 time=42.1 ms

……迅速的WHOIS告诉我159.134.124.176确实是Eircom拥有的东西。


2
问题是ping如何知道,我认为作者知道ICMP正在被过滤。他可能认为过滤意味着过滤黑洞样式,什么也没有退还,这引发了关于“神奇地” ping知道情况的问题。
Karolis T.

1

基本思想(并希望有人可以帮助我填写一些详细信息,因为我不是Linux专家)是您的ping正在发送ICMP回显请求,但没有从目标主机获得标准回显应答。而是由159.134.124.176回答,可能是某种形式的ICMP目标不可达响应。以及159.134.124.176不是原始目标这一事实意味着对数据包进行了过滤。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.