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

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

我是爱尔兰 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 很弱。

答案1

Ping 根据以下条件确定其打印消息:ICMP 控制报文它接收对回声请求的响应。

我猜测,无论 Eircom 使用什么过滤设备来阻止对海盗湾的访问,它都会在响应发往海盗湾 IP 地址的流量时生成 ICMP 类型 3、代码 9(网络管理禁止)或类型 3、代码 10(主机管理禁止)消息。

为了确认,我建议运行数据包捕获(使用Wireshark或类似命令)并查看从 159.134.124.176 接收的 ICMP 响应数据包。

答案2

看过之后

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

 /*
 *
 * pr_icmph --
 *      Print a descriptive string about an ICMP header.
 */
void pr_icmph(__u8 type, __u8 code, __u32 info, struct icmphdr *icp)
{

...
                case ICMP_PKT_FILTERED:
                        printf("Packet filtered\n");
                        break;
...

看起来 iptables 拒绝在响应中添加了这一点,请参阅

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

并搜索“ICMP_PKT_FILTERED”,尽管这可能不是唯一使 ping 使用此类消息回复的情况。

答案3

这意味着设备 159.134.124.176 正在阻止 ICMP(Ping)数据包,并向您回复该信息。可能的 ICMP 回复列于这篇维基文章

答案4

我认为这意味着 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 拥有的。

相关内容