ping 是不是不能通过代理链来工作?

ping 是不是不能通过代理链来工作?

ping程序是 ICMP 协议的实现(它基于原始套接字,而不是 TCP 或 UDP 套接字),我不知道如果它应该通过类似的程序来工作proxychains

例如,当我尝试以下操作时,程序将一直挂起,直到我Ctrl-C执行以下操作:

[root@hostA tmp]# proxychains ping www.google.com
ProxyChains-3.1 (http://proxychains.sf.net)
|DNS-request| www.google.com 
|S-chain|-<>-127.0.0.1:4000-<><>-4.2.2.2:53-<><>-OK
|DNS-response| www.google.com is 209.85.175.103
PING  (209.85.175.103) 56(84) bytes of data.

   ( ***** HUNG HERE FOREVER! ***** )

但是,类似这样的程序curl可以正常工作:

[root@hostA tmp]# proxychains curl http://thin.npr.org > page.html
|DNS-request| thin.npr.org 
|S-chain|-<>-127.0.0.1:4000-<><>-4.2.2.2:53-<><>-OK
|DNS-response| thin.npr.org is 216.35.221.76
|S-chain|-<>-127.0.0.1:4000-<><>-216.35.221.76:80-<><>-OK
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2295  100  2295    0     0    284      0  0:00:08  0:00:08 --:--:--   565

[root@hostA tmp]# ls -l page.html 
-rw-r--r--. 1 root root 2339 Jun 29 17:37 page.html

还请注意,我可以ping www.google.com在不使用的情况下从另一台支持 Internet 的机器上看到proxychains。换句话说,www.google.com似乎是一个ping能够运行的服务器。

答案1

我想不是。如果你看看http://proxychains.sourceforge.net/它明确声明它支持 TCP 和 DNS(实际上可以是 UDP 或 TCP)

您可以在这里找到类似的答案:http://www.backtrack-linux.org/wiki/index.php/Proxychains

一般来说,代理不支持 ICMP 流量。Proxychains 也不支持

相关内容