【问题标题】:How to check if my ISP blocks port 25?如何检查我的 ISP 是否阻塞了端口 25?
【发布时间】:2010-09-24 15:24:29
【问题描述】:

我应该如何检查我的 ISP 是否阻塞了端口 25?

【问题讨论】:

    标签: smtp


    【解决方案1】:

    【讨论】:

    • 如果提问者的意思是“被阻止的入站”,则正确答案。虽然失败并不一定意味着您的 ISP 阻止了它,但它可能是您自己的防火墙。
    【解决方案2】:

    远程登录主机 25

    只需选择一个您知道正在侦听端口 25 的主机。

    【讨论】:

    • 如果提问者的意思是“出站受阻”,则正确答案。
    【解决方案3】:

    你可以打电话问问。

    【讨论】:

    • 不知道。我的 ISP 是付费服务提供商,应该诚实,你不觉得吗?
    • 他们可能必须诚实,但法律并不要求他们消息灵通。
    【解决方案4】:
    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 上,你可以“挖掘”。

    【讨论】:

    • linux 替代查找域到 telnet:$ dig mx gmail.com
    【解决方案5】:

    正如 abatishchev 所展示的那样,探测侦听所需端口的服务器当然是最佳选择。

    如果您在所需端口上找不到“echo”服务,或者您想知道谁在阻止您在路径上,您可以使用 firewalking时间>。 Firewalking 通过将生存时间 (TTL) 设置为零开始探测路径,然后每次迭代将其递增 1。当您停止收到“ICMP TTL Exceeded”消息时,意味着链中的下一跳正在过滤您的数据包。

    您可以使用hping3 来执行此操作:

    :~$ hping3 -z -T -p 25 server.com
    

    或使用专门为此创建的Firewalk

    编辑:路由上的任何 NAT 设备都会默默地破坏您的结果,因为 TTL 被重置为路由器认为合适的任何合理值。

    【讨论】:

      猜你喜欢
      • 2019-02-20
      • 1970-01-01
      • 1970-01-01
      • 2011-02-13
      • 2022-01-25
      • 1970-01-01
      • 1970-01-01
      • 2016-12-20
      • 2015-01-01
      相关资源
      最近更新 更多