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

推薦する

VMware 仮想マシンに Android x86 をインストールする方法

アプリをテストしたいが、それを携帯電話で実行したくない場合があります。この場合、仮想マシンを使用して...

mysql5.7.19 winx64 解凍版のインストールと設定のチュートリアル

mysql 5.7.19 winx64解凍版のインストールチュートリアルを収録しました。具体的な内容...

Ubuntu 20.04 をインストールした後に行うべきこと (初心者向けガイド)

Ubuntu 20.04 がリリースされ、多くの新機能が導入されましたが、慣れていない機能も多くあ...

CentOS7 で Jenkins+Maven+Git 継続的インテグレーション環境を構築する方法

この記事では、Spring boot + Maven プロジェクトのデプロイメントを例に、Code ...

Zabbixのインストールと展開の詳細な説明

序文Zabbix は最も主流のオープンソース監視ソリューションの 1 つです。導入自体は難しくありま...

Linuxでのaliasコマンドの使い方の詳細な説明

1. 別名の使用alias コマンドは、コマンドのエイリアスを設定するために使用されます。このコマン...

CSS calc() の数式に関する詳細な理解

数式 calc() は CSS の関数であり、主に数学演算に使用されます。 calc() を使用する...

Vue3 を使用してアップロード コンポーネントを実装するためのサンプル コード

目次一般的なアップロードコンポーネントの開発以下の機能を実装する必要がありますカスタムテンプレートサ...

MySQL レプリケーションの詳細な説明と簡単な例

MySQL レプリケーションの詳細な説明と簡単な例マスタースレーブレプリケーション技術は、MySQL...

VMware Tools を最初からインストールするための詳細な手順 (グラフィック チュートリアル)

VMware Tools は VMware 仮想マシンに付属するツールで、VirtualBox (...

jQueryはシンプルなポップアップウィンドウ効果を実装します

この記事では、簡単なポップアップウィンドウ効果を実現するためのjQueryの具体的なコードを参考まで...

MySQL スロークエリ pt-query-digest スロークエリログの分析

1. はじめにpt-query-digest は、MySQL のスロー クエリを分析するためのツール...

ホバードロップダウンメニューを実装するためのネイティブJS

JS はホバー ドロップダウン メニューを実装します。これは、フロントエンドの面接で遭遇するシナリ...

Ubuntu 18.04 に mysql5.7.23 をインストールするチュートリアル

この記事では、Ubuntu18.04にmysql5.7.23をインストールする具体的な方法を参考まで...