edit-icon download-icon

サーバーに ping できますが、ポートにアクセスできない理由は何ですか?

最終更新日: Jun 26, 2018

クライアントがターゲットサーバーにアクセスしたときに、サーバーに ping できてもサービスポートにアクセスできない場合は、リンク上のノードがポートからのデータをインターセプトしている可能性があります。ポート可用性テストツールを使用してテストを実行すると、テスト結果に基づき、ポートをインターセプトしているノードがあるかどうかを確認できます。


目次:

ポート可用性テストツールの概要

ポート可用性テストツールは、オペレーティングシステムによって異なります。

Linux ECS 用ツール

traceroute は、ほぼすべてのバージョンの Linux に事前にインストールされているネットワークテストツールです。これは、ターゲットの IP アドレスに送信される IP データパケットのパスを追跡するために使用されます。ポートの可用性は、traceroute を使用してテストできます。

traceroute は、TCP データパケットを送信してターゲットポートをテストします。これは、データパケットソースからターゲットサーバーまでのリンク全体で、対応するポートの接続性を確認することを目的としています。次のコードは、traceroute を使用してポートの可用性をテストする方法を示しています。

  1. traceroute [-n] -T -p <Target port number> Host

  1. [root@centos~]# traceroute -n -T -p 22 223.5.5.5
  2. traceroute to 223.5.5.5 (223.5.5.5), 30 hops max, 60 byte packets
  3. 1 58.96.171.249 0.431 ms 0.538 ms 0.702 ms
  4. 2 10.88.16.29 0.997 ms 1.030 ms 10.88.16.21 1.309 ms
  5. 3 58.96.160.246 0.393 ms 0.390 ms 58.96.160.250 0.423 ms
  6. 4 63.218.56.237 1.110 ms 202.123.74.122 0.440 ms 0.440 ms
  7. 5 63.223.15.90 1.744 ms 63.218.56.237 1.076 ms 1.232 ms
  8. 6 63.223.15.158 1.832 ms 63.223.15.90 1.663 ms 63.223.15.74 1.616 ms
  9. 7 202.97.122.113 2.776 ms 63.223.15.154 1.585 ms 1.606 ms
  10. 8 * * 202.97.122.113 2.537 ms
  11. 9 202.97.61.237 6.856 ms * *
  12. 10 * * *
  13. 11 * * *
  14. 12 * * 119.147.220.222 8.738 ms
  15. 13 119.147.220.230 8.248 ms 8.231 ms *
  16. 14 * 42.120.242.230 32.305 ms 42.120.242.226 29.877 ms
  17. 15 42.120.242.234 11.950 ms 42.120.242.222 23.853 ms 42.120.242.218 29.831 ms
  18. 16 42.120.253.2 11.007 ms 42.120.242.234 13.615 ms 42.120.253.2 11.956 ms
  19. 17 42.120.253.14 21.578 ms 42.120.253.2 13.236 ms *
  20. 18 * * 223.5.5.5 12.070 ms !X

パラメーターの説明

  • -n を使用すると、ホスト名ではなく (逆引き DNS ルックアップを無効にして) IP アドレスを直接使用できます。
  • -T は、TCP テストに合格していることを示します。
  • -p は、ターゲットポート番号をテストするために使用します。
  • Host は、ターゲットサーバーのドメイン名または IP アドレスを示します。

traceroute の使用方法の詳細については、man を参照してください。

Windows ECS 用ツール

Windows では、tracetcp を使用してポートの可用性をテストできます。

tracetcp は、TCP データパケットも送信してリンクをテストし、リンク上のノードによってターゲットポートがブロックされているかどうかを調べます。

ダウンロードとインストール

  1. tracetcp の使用は、WinPcap ライブラリに依存します。このため、まず公式 Web サイトから WinPcap ライブラリをダウンロードする必要があります。

  2. こちらをクリックして最新の tracetcp をダウンロードします。または、tracetcp v1.0.2 を添付資料からダウンロードすることもできます (このバージョンは最新でない可能性もあります)。

  3. ダウンロードした tracetcp ファイルを C:\Windows ディレクトリに解凍します (これらのファイルをシステムディレクトリ以外に解凍する場合は、コマンドを直接呼び出すことができるように、システム環境変数を手動で変更する必要があります)。

  4. tracetcp.exe をダブルクリックします。tracetcp の一般的な使用方法は次のとおりです。

    tracetcp [ターゲットサーバーのドメイン名または IP アドレス]:[テストするポートの番号]

  1. C:\ >tracetcp www.aliyun.com:80
  2. Tracing route to 140.205.63.8 on port 80
  3. Over a maximum of 30 hops.
  4. 1 3 ms 4 ms 3 ms 30.9.176.1
  5. 2 13 ms 3 ms 4 ms 10.64.200.33
  6. 3 3 ms 3 ms 2 ms 10.64.1.1
  7. 4 4 ms 3 ms 3 ms 42.120.74.4
  8. 5 5 ms 4 ms 7 ms 42.120.253.233
  9. 6 6 ms 5 ms 7 ms 42.120.247.97
  10. 7 8 ms 8 ms 8 ms 42.120.247.97
  11. 8 10 ms 10 ms 8 ms 123.56.34.246
  12. 9 9 ms 9 ms 11 ms 42.120.243.117
  13. 10 * * * Request timed out.
  14. 11 Destination Reached in 8 ms. Connection established to 140.205.63.8
  15. Trace Complete.

tracetcp のパラメーターの詳細な説明を表示するには、tracetcp -? を実行します。

ポート可用性のテスト手順

  1. traceroute または tracetcp を使用して、ターゲットの IP アドレスのポート可用性をテストします。
  2. テスト結果を分析し、例外が発生したノードを特定します。
    • 例外が発生したノードを特定した後に、ip.taobao.com などの IP アドレス照会 Web サイトにアクセスし、例外が発生したノードの担当アクセスプロバイダーとネットワークを調べます。
    • チケットを起票します。Alibaba Cloud により、担当のアクセスプロバイダーに問題が報告されます。

テスト結果の分析

判定: 特定のホップでポートがブロックされると、次のホップでデータが返されません。この方法では、例外が発生したノードを特定できます。

例 1

  1. C:\ >tracetcp www.aliyun.com:135
  2. Tracing route to 115.239.210.27 on port 135
  3. Over a maximum of 30 hops.
  4. 1 3 ms 3 ms 3 ms 30.9.176.1
  5. 2 4 ms 3 ms 3 ms 10.64.200.33
  6. 3 3 ms 3 ms 3 ms 10.64.1.1
  7. 4 * * * Request timed out.
  8. 5 * * * Request timed out.
  9. 6 * * * Request timed out.
  10. 7 * * * Request timed out.
  11. 8 * * * Request timed out.
  12. 9 * * * Request timed out.
  13. 10 * * * Request timed out.
  14. 11 * * * Request timed out.
  15. 12 * * * Request timed out.
  16. 13 * * * Request timed out.
  17. 14 * * * Request timed out.
  18. 15 * * * Request timed out.
  19. 16 * * * Request timed out.
  20. 17 * * * Request timed out.
  21. 18 * * * Request timed out.
  22. 19 * * * Request timed out.
  23. 20 * * * Request timed out.
  24. 21 * * * Request timed out.
  25. 22 * * * Request timed out.
  26. 23 * * * Request timed out.
  27. 24 * * * Request timed out.
  28. 25 * * * Request timed out.
  29. 26 * * * Request timed out.
  30. 27 * * * Request timed out.
  31. 28 * * * Request timed out.
  32. 29 * * * Request timed out.
  33. 30 * * * Request timed out.
  34. Trace Complete.

上の例では、ターゲットポートでの 3 番目のホップの後、データが返されていません。これは、ノードに対応するターゲットポートでデータがインターセプトされていることを示します。

結論: ノードにはイントラネット IP アドレスがあるため、ポートはローカルのネットワークセキュリティポリシーによってブロックされている可能性があります。問題の分析とトラブルシューティングを行うには、ローカルネットワーク管理の担当者に連絡する必要があります。

例 2

  1. [root@mycentos ~]# traceroute -T -p 135 www.baidu.com
  2. traceroute to www.baidu.com (111.13.100.92), 30 hops max, 60 byte packets
  3. 1 * * *
  4. 2 192.168.17.20 (192.168.17.20) 4.115 ms 4.397 ms 4.679 ms
  5. 3 111.1.20.41 (111.1.20.41) 901.921 ms 902.762 ms 902.338 ms
  6. 4 111.1.34.197 (111.1.34.197) 2.187 ms 1.392 ms 2.266 ms
  7. 5 * * *
  8. 6 221.183.19.169 (221.183.19.169) 1.688 ms 1.465 ms 1.475 ms
  9. 7 221.183.11.105 (221.183.11.105) 27.729 ms 27.708 ms 27.636 ms
  10. 8 * * *
  11. 9 * * *
  12. 10 111.13.98.249 (111.13.98.249) 28.922 ms 111.13.98.253 (111.13.98.253) 29.030 ms 28.916 ms
  13. 11 111.13.108.22 (111.13.108.22) 29.169 ms 28.893 ms 111.13.108.33 (111.13.108.33) 30.986 ms
  14. 12 * * *
  15. 13 * * *
  16. 14 * * *
  17. 15 * * *
  18. 16 * * *
  19. 17 * * *
  20. 18 * * *
  21. 19 * * *
  22. 20 * * *
  23. 21 * * *
  24. 22 * * *
  25. 23 * * *
  26. 24 * * *
  27. 25 * * *
  28. 26 * * *
  29. 27 * * *
  30. 28 * * *
  31. 29 * * *
  32. 30 * * *

上の例では、ターゲットポートでの 11 番目のホップの後、データが返されていません。これは、ノードに対応するターゲットポートでデータがインターセプトされていることを示します。

結論: 照会の結果、ノードに対応するターゲットポートに対する責任があるのは Beijing China Mobile であることがわかりました。このため、問題を分析してトラブルシューティングを行うには、Beijing Mobile に問い合わせるか、チケットを起票する必要があります。

問題が解決しない場合は、「ポート可用性のテスト」の結果を記録し、チケットを起票して Alibaba Cloud にお問い合わせください。