Linux で ping は成功するがポートが利用できない問題を解決する方法

Linux で ping は成功するがポートが利用できない問題を解決する方法

ping は成功したがポートにアクセスできない場合のポート可用性検出の説明

ポート可用性検出ツールの紹介

オペレーティング システムによって、ポートの可用性を検出するために使用するツールは異なります。

Linux 環境におけるポート可用性検出ツールの紹介

Traceroute は、ほぼすべての Linux ディストリビューションにプリインストールされているネットワーク テスト ツールであり、インターネット プロトコル (IP) パケットが宛先アドレスに送信されるときにたどるパスを追跡するために使用されます。ポートの可用性を検出するには、traceroute ツールを使用してください。

Traceroute は、ターゲット ポートに TCP パケットを送信することにより、パケットの送信元からターゲット サーバーまでのリンク全体における対応するポートの接続を検出します。

traceroute ポート可用性検出の一般的な使用法は次のとおりです。

traceroute [-n] -T -p <宛先ポート番号> ホスト

[root@centos~]# トレースルート -n -T -p 22 223.5.5.5
223.5.5.5 (223.5.5.5) へのトレースルート、最大 30 ホップ、60 バイト パケット
 1 58.96.171.249 0.431ミリ秒 0.538ミリ秒 0.702ミリ秒
 2 10.88.16.29 0.997 ミリ秒 1.030 ミリ秒 10.88.16.21 1.309 ミリ秒
 3 58.96.160.246 0.393 ミリ秒 0.390 ミリ秒 58.96.160.250 0.423 ミリ秒
 4 63.218.56.237 1.110ミリ秒 202.123.74.122 0.440ミリ秒 0.440ミリ秒
 5 63.223.15.90 1.744ミリ秒 63.218.56.237 1.076ミリ秒 1.232ミリ秒
 6 63.223.15.158 1.832 ミリ秒 63.223.15.90 1.663 ミリ秒 63.223.15.74 1.616 ミリ秒
 7 202.97.122.113 2.776 ミリ秒 63.223.15.154 1.585 ミリ秒 1.606 ミリ秒
 8 * * 202.97.122.113 2.537ミリ秒
 9 202.97.61.237 6.856 ミリ秒 * *
10 * * *
11 * * *
12 * * 119.147.220.222 8.738ミリ秒
13 119.147.220.230 8.248ミリ秒 8.231ミリ秒 *
14 * 42.120.242.230 32.305 ミリ秒 42.120.242.226 29.877 ミリ秒
15 42.120.242.234 11.950 ミリ秒 42.120.242.222 23.853 ミリ秒 42.120.242.218 29.831 ミリ秒
16 42.120.253.2 11.007 ミリ秒 42.120.242.234 13.615 ミリ秒 42.120.253.2 11.956 ミリ秒
17 42.120.253.14 21.578 ミリ秒 42.120.253.2 13.236 ミリ秒 *
18 * * 223.5.5.5 12.070ミリ秒 !X

パラメータの説明

-n ホスト名の代わりに IP アドレスを直接使用します (DNS ルックアップを無効にします)。

-T TCP 経由でプローブします。

-p はターゲットポート番号を検出します。

ホスト ターゲット サーバーのドメイン名または IP。

traceroute の詳細については、man ページを参照してください。

Windows 環境でのポート可用性検出ツールの紹介

Windows 環境では、tracetcp を使用してポートの可用性を検出できます。

tracetcp は、TCP パケットを送信してリンク内の中間ノードがターゲット ポートをブロックしているかどうかを分析することにより、リンク検出も実行します。

ダウンロードしてインストールする

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

ここをクリックして公式 Web サイトにアクセスし、最新バージョンの tracetcp をダウンロードしてください。あるいは、添付の tracetcp v1.0.2 をダウンロードすることもできます (最新バージョンではない可能性があります)。

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

使い方

ダブルクリックして tracetcp アプリケーションを開きます。tracetcp の一般的な用途は次のとおりです。

tracetcp <ターゲットサーバーのドメイン名またはIP>:<検出するポート番号>

C:\ >tracetcp www.aliyun.com:80
ポート 80 の 140.205.63.8 へのルートをトレースしています
最大 30 ホップ以上。
1 3ミリ秒 4ミリ秒 3ミリ秒 30.9.176.1
2 13 ミリ秒 3 ミリ秒 4 ミリ秒 10.64.200.33
3 3ミリ秒 3ミリ秒 2ミリ秒 10.64.1.1
4 4ミリ秒 3ミリ秒 3ミリ秒 42.120.74.4
5 5ミリ秒 4ミリ秒 7ミリ秒 42.120.253.233
6 6ミリ秒 5ミリ秒 7ミリ秒 42.120.247.97
7 8 ミリ秒 8 ミリ秒 8 ミリ秒 42.120.247.97
8 10ミリ秒 10ミリ秒 8ミリ秒 123.56.34.246
9 9ミリ秒 9ミリ秒 11ミリ秒 42.120.243.117
10 * * * リクエストがタイムアウトしました。
11 8 ミリ秒で宛先に到達しました。140.205.63.8 への接続が確立されました
トレース完了。

tracetcp -? を使用すると、さらに詳しい tracetcp パラメータの説明を取得して表示できます。

ポートの可用性の検出手順

通常、次のことが可能です。

前述の説明に従って、対応するツールを使用して、ターゲット アドレスのターゲット ポートの可用性を検出します。

検出結果を確認して分析し、異常なノードを特定します。

ip.taobao.com などの IP アドレス照会 Web サイトを通じて、対応するノードのオペレーターとネットワークを取得します。

または、作業指示書を提出していただければ、Alibaba Cloud が問題を関係するオペレーターに報告します。

リンクテスト結果分析の簡単な説明

異常ノード判定方法:あるホップで該当ポートがブロックされている場合、それ以降のホップではデータが返されません。これに基づいて、異常なノードを特定できます。

例1

C:\&gt;tracetcp www.aliyun.com:135
ポート 135 の 115.239.210.27 へのルートをトレースしています
最大 30 ホップ以上。
1 3ミリ秒 3ミリ秒 3ミリ秒 30.9.176.1
2 4ミリ秒 3ミリ秒 3ミリ秒 10.64.200.33
3 3 ミリ秒 3 ミリ秒 3 ミリ秒 10.64.1.1
4 * * * リクエストがタイムアウトしました。
5 * * * リクエストがタイムアウトしました。
6 * * * リクエストがタイムアウトしました。
7 * * * リクエストがタイムアウトしました。
8 * * * リクエストがタイムアウトしました。
9 * * * リクエストがタイムアウトしました。
10 * * * リクエストがタイムアウトしました。
11 * * * リクエストがタイムアウトしました。
12 * * * リクエストがタイムアウトしました。
13 * * * リクエストがタイムアウトしました。
14 * * * リクエストがタイムアウトしました。
15 * * * リクエストがタイムアウトしました。
16 * * * リクエストがタイムアウトしました。
17 * * * リクエストがタイムアウトしました。
18 * * * リクエストがタイムアウトしました。
19 * * * リクエストがタイムアウトしました。
20 * * * リクエストがタイムアウトしました。
21 * * * リクエストがタイムアウトしました。
22 * * * リクエストがタイムアウトしました。
23 * * * リクエストがタイムアウトしました。
24 * * * リクエストがタイムアウトしました。
25 * * * リクエストがタイムアウトしました。
26 * * * リクエストがタイムアウトしました。
27 * * * リクエストがタイムアウトしました。
28 * * * リクエストがタイムアウトしました。
29 * * * リクエストがタイムアウトしました。
30 * * * リクエストがタイムアウトしました。
トレース完了。

上記の検出データでは、ターゲット ポートは 3 番目のホップ以降にデータを返しません。このノード上の対応するポートがブロックされていることを示します。

結論の例: ノードはイントラネット IP であるため、ローカル ネットワークのセキュリティ ポリシーが原因となっている可能性があります。さらに調査と分析を行うには、ローカル ネットワーク管理者に連絡する必要があります。

例2

[root@mycentos ~]# traceroute -T -p 135 www.baidu.com
www.baidu.com (111.13.100.92) へのトレースルート、最大 30 ホップ、60 バイト パケット
 1 * * *
 2 192.168.17.20 (192.168.17.20) 4.115 ミリ秒 4.397 ミリ秒 4.679 ミリ秒
 3 111.1.20.41 (111.1.20.41) 901.921 ミリ秒 902.762 ミリ秒 902.338 ミリ秒
 4 111.1.34.197 (111.1.34.197) 2.187ミリ秒 1.392ミリ秒 2.266ミリ秒
 5 * * *
 6 221.183.19.169 (221.183.19.169) 1.688 ミリ秒 1.465 ミリ秒 1.475 ミリ秒
 7 221.183.11.105 (221.183.11.105) 27.729 ミリ秒 27.708 ミリ秒 27.636 ミリ秒
 8 * * *
 9 * * *
10 111.13.98.249 (111.13.98.249) 28.922 ミリ秒 111.13.98.253 (111.13.98.253) 29.030 ミリ秒 28.916 ミリ秒
11 111.13.108.22 (111.13.108.22) 29.169 ミリ秒 28.893 ミリ秒 111.13.108.33 (111.13.108.33) 30.986 ミリ秒
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *

上記の検出データでは、ターゲット ポートは 11 番目のホップ以降にデータを返しません。このノード上の対応するポートがブロックされていることを示します。

結論の例: クエリ後、ノードは Beijing Mobile に属しているため、自分で確認するか、作業指示書を送信してさらに調査および分析する必要があります。

以下もご興味があるかもしれません:
  • Linux のファイアウォールでポート 80 を開く方法の例
  • LinuxでMySQLのリモートアクセス権を有効にし、ファイアウォールでポート3306を開きます。
  • Linux のファイアウォールで特定のポート番号を開き、一般的なファイアウォール コマンドを使用する方法 (詳細な説明)
  • Linux プロセスが占有するポート番号を表示する 6 つの方法
  • Linuxでプロセスが占有するポート番号を表示する
  • Linuxでポートを転送する方法
  • ポートが占有されているかどうかを確認し、Linux ですべてのポートを表示する [推奨]
  • Linux ベースの VNC 構成ポート番号を変更する方法
  • Linux でポートの接続数を確認する方法
  • Linux での iptables によるポートのブロックとオープンの例
  • Linux Centos7 システムのポート占有問題の解決
  • Linux ソケット通信でローカル送信元ポート番号を取得する方法
  • lsof -i:port を使用して Linux でポートの使用状況を確認する方法
  • ポートの使用状況を確認するための Linux コマンドの詳細な例
  • Linux でポート トラフィックをカウントする方法
  • Linux で占有ポートを見つけてプロセスを強制終了する方法
  • Linux でポート、プロセスを表示し、プロセスを強制終了する方法
  • Linux でポートが占有されているかどうかを確認する方法
  • Linuxでプログラムポートの使用状況を確認するための詳細な説明
  • Linux 占有ポートの強制解放と Linux ファイアウォールのポート開放方法の詳しい説明

<<:  PrometheusとGrafanaを使用したMySQLサーバーのパフォーマンス監視の詳細な説明

>>:  ES6 ループと反復可能オブジェクトの例

推薦する

Gitlab実践チュートリアルでは、関連する設定操作にgit configを使用します。

この記事では、実際に発生した問題をもとに、git の設定に関する内容を紹介します。コマンド: git...

MySQL データベース内の varchar 型の数値のサイズを比較する方法

テストテーブルを作成する -- ---------------------------- -- ch...

MySQLデータベースは何をするのか

MySQL は、スウェーデンの会社 MySQL AB によって開発されたリレーショナル データベース...

HTML の div と span の違い (共通点と相違点)

共通点: DIV タグと SPAN タグは、コンテンツ全体を非表示にしたり、コンテンツ全体を移動した...

グローバルトーストコンポーネントをカプセル化するVueの完全な例

目次序文1. vue-cliを使う1. Toastコンポーネントを定義する2. main.jsで設定...

Portainer を使用した Docker コンテナのデプロイのプロジェクト実践

目次1. 背景2. 操作手順3. Portinerをインストールする3.1 Dockerのデプロイメ...

1分でVueが右クリックメニューを実装

目次レンダリングインストールコードの実装カスタムスタイル要約する効率的に要件を満たし、車輪の再発明を...

Element-UI の Select と Cascader にポップアップ下部アクション ボタンを追加する方法

下図のように、 selectポップアップレイヤーの下部に操作ボタンを配置するのが一般的な設計方法です...

MySQL データベースのステートメント ワイルドカード ファジー クエリの概要

MySQL エラー: パラメータ インデックスが範囲外です (1 > パラメータ数、つまり 0...

MySQL の union と union all の簡単な分析

データベースでは、UNION キーワードと UNION ALL キーワードの両方が 2 つの結果セッ...

Apache Log4j2 が核レベルの脆弱性と迅速な修正を報告

Apache Log4j2 が核レベルの脆弱性を報告し、スタックリーダーの友人たちは大騒ぎになりまし...

Docker コンテナ アプリケーションで避けるべき 10 の悪い習慣

コンテナが企業の IT インフラストラクチャに欠かせない要素となっていることは間違いありません。コン...

CSS の 4 つのインポート方法と優先順位の簡単な分析

第一に: CSSを導入する4つの方法CSS を導入する方法には、インライン スタイル、埋め込みスタイ...

MySQL でテーブルデータをクリアする 2 つの方法とその違い

MySQL でデータを削除するには 2 つの方法があります。切り詰めは大まかな伐採の一種である削除は...

主キーを追加または変更するMySQL SQL文操作

テーブルフィールドを追加する テーブルtable1を変更し、トランザクタvarchar(10)をNu...