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

推薦する

Logrotate は 2 時間ごとに Catalina.out ログローテーションを実装します

1. Logrotateツールの紹介Logrotate はログファイル管理ツールです。Linux に...

MySQLにおける分散ロックの考え方をDBの助けを借りて詳しく説明します

序文スタンドアロン ロックであっても分散ロックであっても、共有データに基づいて現在の操作の動作を判断...

CSSセレクターでの正規表現の使用

はい、CSS にも正規表現があります (アーメン) CSS で目立つための 2 つの強力なツール: ...

jsのイベントループ機構の解析

序文ご存知のとおり、JavaScript は本質的にシングルスレッドですが、ブラウザは非同期リクエス...

MySQL 8.0.12 winx64 解凍バージョンのインストール グラフィック チュートリアル

mysql-8.0.12-winx64 解凍版のインストールを記録して、みんなで共有しました。 1....

Linux サーバーのクイックアンインストールとノード環境のインストール (簡単に始められます)

1.まずnpmをアンインストールする sudo npm アンインストール npm -g 2. ノー...

MySQL 30軍事ルールの詳細な説明

1. 基本仕様(1)InnoDBストレージエンジンを使用する必要があります。解釈:トランザクション、...

MySQLトランザクションとMySQLログの詳細な説明

取引特性1. アトミック性: トランザクションの開始後、すべての操作が完了するか、まったく実行されな...

Ubuntu で FTP サーバーを構築する方法の詳細な説明 (成功保証)

1. 今日の午後、コースの要件により、Ubuntu で FTP サーバーを設定する実験を行う必要が...

Visual Studio Codeを使用してMySqlデータベースに接続し、クエリを実行します。

Visual Studio Code は、Microsoft が開発した強力なテキスト エディター...

MySQL で MHA アーキテクチャのデプロイメントを構築する手順

目次マハ1. MAHアーキテクチャの概要2. 適用可能なシナリオ3. MHAの動作原理4. MHAの...

vue+django でファイルをダウンロードする例

目次1. 概要2. Django プロジェクト3. Vueプロジェクト1. 概要プロジェクトで、ダウ...

Docker で hyperf を開発する完全な使用例の詳細な説明

ハイパーフ公式サイトHyperf 公式ドキュメントのインストール1. Dockerの使用docker...

CSS における要素の表示モード

CSS では、要素タグは、要素の表示モードの違いに応じて、インラインレベル要素とブロックレベル要素の...