我应该如何检查我的 ISP 是否阻止端口 25?
cmd> telnet <some well known email provider IP> 25
确定哪个主机(子域)正在侦听端口 25:
nslookup -q=MX <top-level domain>
例如:
cmd> nslookup -q=MX gmail.com
gmail.com MX preference = 50, mail exchanger = gsmtp147.google.com
gmail.com MX preference = 50, mail exchanger = gsmtp183.google.com
gmail.com MX preference = 5, mail exchanger = gmail-smtp-in.l.google.com
gmail.com MX preference = 10, mail exchanger = alt1.gmail-smtp-in.l.google.com
gmail.com MX preference = 10, mail exchanger = alt2.gmail-smtp-in.l.google.com
gsmtp147.google.com internet address = 209.85.147.27
gsmtp183.google.com internet address = 64.233.183.27
gmail-smtp-in.l.google.com internet address = 64.233.183.114
cmd> telnet gsmtp147.google.com 25
220 mx.google.com ESMTP l27si12759488waf.25
在 Linux 上,我猜你可以“挖掘”。
远程登录主机25
只需选择一个您知道正在侦听端口 25 的主机即可。
你可以打电话给他们询问。
探测侦听所需端口的服务器当然是最好的选择,正如 abatishchev 所示。
如果您在所需端口上找不到“回声”服务,或者 您想知道谁在路径上阻止您,您可以诉诸 firewalking。 Firewalking 通过将生存时间 (TTL) 设置为零开始,然后每次迭代将其加一来探测路径。当您停止收到“ICMP TTL Exceeded”消息时,这意味着链中的下一跳正在过滤您的数据包。
您可以使用 hping3 来执行此操作:
:~$ hping3 -z -T -p 25 server.com
或使用 Firewalk 正是为此而创建的。
编辑:路由上的任何 NAT 设备都会默默地破坏您的结果,因为 TTL 会重置为路由器认为合适的任何合理值。