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 ループと反復可能オブジェクトの例

推薦する

WeChatアプレットがチャットルーム機能を実現

この記事では、参考のために、WeChatアプレットのチャットルームを実装するための具体的なコードを例...

JavaScript配列の一般的なメソッドの例のまとめ

目次一般的な配列メソッドconcat() メソッドjoin() メソッドpop() メソッドpush...

GIFアニメーション効果を模倣した自動ビデオ再生を実現するWeChatアプレットの例

需要背景:ミニプログラムページに GIF ダイナミック画像を挿入しますが、GIF 画像は通常サイズが...

MySQL データベースは何をしますか?

MySQL はリレーショナル データベース管理システムです。リレーショナル データベースは、すべて...

MySQL 5.5 で範囲パーティションを追加および削除する例

導入RANGE パーティション分割は、指定された連続した間隔範囲に基づいています。RANGE の初期...

Dockerコマンドは一般ユーザーが実行できるように実装されている

dockerをインストールすると、通常はdockerユーザーグループが作成されます。ステップ2: 現...

vue-router からのフロントエンドルーティングの 2 つの実装

目次モードパラメータハッシュ履歴ハッシュ履歴.push()ハッシュ履歴.replace()アドレスバ...

Vue プロジェクトでブラウザ キャッシュ設定を無効にする例

プロジェクトをリリースするときに、キャッシュをクリーンアップする必要があるという問題に遭遇することが...

要素テーブルの行と列のドラッグを実装する例

要素 ui テーブルにはドラッグ アンド ドロップによる並べ替え機能が組み込まれておらず、サードパー...

JS のあらゆる場所で絶対等価演算子の使用をやめる

目次概要1. NULL値のテスト2. ユーザー入力を読み取る導入事実の根源はどこにあるのでしょうか?...

JavaScript ドキュメント オブジェクト モデル DOM

目次1. JavaScriptはページ内のすべてのHTML要素を変更できる1. IDでHTML要素を...

列名を知らなくてもMySQLインジェクションを詳細に解説

序文最近、穴を掘ってスペースを作っているだけなので、心が空っぽになっているように感じます。テクノロジ...

MySQL で主キーと ROWID を使用する際の落とし穴の概要

序文MySQL の rowid の概念については聞いたことがあるかもしれませんが、テストや実践が難し...

MySQLを水平から垂直に、垂直から水平に変換する方法

データの初期化 `test_01` が存在する場合はテーブルを削除します。 テーブル「test_01...

XML構文の詳細な説明

1. 文書化ルール1. 大文字と小文字が区別されます。 2. 属性値は引用符(一重引用符または二重引...