ホームページ 運用・保守 Linuxの運用と保守 Linux でどのポートが開いているかを確認する方法

Linux でどのポートが開いているかを確認する方法

Mar 02, 2022 pm 03:21 PM
linux

Linux でオープン ポートを確認する方法: 1. nmap ツールを使用してオープン ポートを検出; 2. netstat ツールを使用してオープン ポートを検出; 3. lsof ツールを使用してオープン ポートを検出; 4.開いているポートを検出するには、telnet を使用します。 5. 開いているポートを検出するには、netcat ツールを使用します。

Linux でどのポートが開いているかを確認する方法

#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。

ネットワーク テクノロジでは、ポートには論理ポートと物理ポートが含まれます。物理ポートとは、RJ-45 ポート、SC ポートなど、他のネットワーク デバイスに接続するために使用される ADSL モデム、ハブ、スイッチ、ルーター上のインターフェイスなど、物理的に存在するポートを指します。論理ポートとは、TCP/IP プロトコルのサービス ポートなど、論理的な意味でサービスを区別するために使用されるポートを指します。ポート番号の範囲は 0 ~ 65535 です (Web ブラウジング サービスの場合はポート 80、FTP サービスの場合はポート 21 など)。 。 待って。物理ポートと論理ポートの数が多いため、ポートを区別するために、各ポートにポート番号が付けられます。これがポート番号です。

ポートは、ポート番号に応じて 3 つのカテゴリに分類できます。

1: 既知のポート

既知のポート番号の範囲は 0 ~ 1023 です。これらはいくつかの一般的なサービスに密接にバインドされています。たとえば、FTP サービスはポート 21 を使用します。 /etc/services. このマッピング関係。

2: 登録されているポート:

1024 ~ 49151。これらはいくつかのサービスと緩やかに結びついています。つまり、これらのポートには多くのサービスがバインドされており、これらのポートは他の多くの目的にも使用されます。

3: 動的ポートおよび/またはプライベート ポート

動的ポート、つまり, プライベート ポート番号は、インターネットの伝送制御プロトコル (ユーザー トランスポート プロトコル) を使用して、ソフトウェアが他のソフトウェアと通信するために使用できるポートの数です。動的ポートは通常 49152 ~ 65535です。

Linux のポート範囲は限られています。プログラム用に特定のポートを予約したい場合は、このポート範囲を制御する必要があります。 /proc/sys/net/ipv4/ip_local_port_range は、ローカル TCP/UDP ポート範囲を定義します。 net.ipv4.ip_local_port_range = 1024 65000

[root@localhost ~]# cat /proc/sys/net/ipv4/ip_local_port_range
32768   61000
[root@localhost ~]#  echo 1024 65535 > /proc/sys/net/ipv4/ip_local_port_range
ログイン後にコピー

/etc/sysctl.conf のポートとサービスについて定義できます。かつて公衆トイレにたとえられましたが、公衆トイレの各トイレはシステムの各ポートのようなものです。人々に利便性を提供することが、いわゆるサービスです。これらのサービスを提供する場合、ポート(トイレ)が開かれなければなりません誰かがトイレに行くとき、これらのポートでリンクが確立されます。そのトイレが誰かに占有されているということは、そのポート番号がサービスに占有されていることを意味し、ある日ここで公衆トイレがなくなり、その公衆トイレが取り壊されれば、当然ポート番号もなくなる。実際、より鮮明な例は銀行のロビーのようなもので、ポート番号はカウンターであり、番号を受け取って業務を処理する人々はサーバーに接続されたさまざまなクライアントのようなものです。業務連絡はポート リダイレクト テクノロジを通じてカウンターに送信されます。もう一つ分かりやすい例で言うと、ポート番号は高速鉄道の各駅のようなもので、例えば長沙、岳陽などはそれぞれポート番号を表しており、乗客は乗車券でそれぞれの駅に行き、これは、各アプリケーション プログラムがサーバーに送信するポート IP パケットのようなものです。

ポートが開いているかどうかを確認するにはどうすればよいですか? 実は、整理してみないと、こんなにたくさんの方法があることを知りません。

1: nmap ツールは開いているポートを検出します

nmap は、ネットワーク スキャンおよびホスト検出ツールです。 nmap のインストールは、以下に示す rpm インストールのように非常に簡単です。

[root@DB-Server Server]# rpm -ivh nmap-4.11-1.1.x86_64.rpm 
warning: nmap-4.11-1.1.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:nmap                   ########################################### [100%]
[root@DB-Server Server]# rpm -ivh nmap-frontend-4.11-1.1.x86_64.rpm 
warning: nmap-frontend-4.11-1.1.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:nmap-frontend          ########################################### [100%]
[root@DB-Server Server]#
ログイン後にコピー

nmap の使用については、詳しく詳しく記事を書くことができるので、ここでは詳しく説明しません。以下に示すように、nmap 127.0.0.1 はこのマシンの開いているポートをチェックし、すべてのポートをスキャンします。もちろん、他のサーバーポートもスキャンできます。

[root@DB-Server Server]# nmap 127.0.0.1
 
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2016-06-22 15:46 CST
Interesting ports on localhost.localdomain (127.0.0.1):
Not shown: 1674 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
111/tcp  open  rpcbind
631/tcp  open  ipp
1011/tcp open  unknown
3306/tcp open  mysql
 
Nmap finished: 1 IP address (1 host up) scanned in 0.089 seconds
You have new mail in /var/spool/mail/root
[root@DB-Server Server]#
ログイン後にコピー

Linux でどのポートが開いているかを確認する方法

2: netstat ツールは開いているポートを検出します

[root@DB-Server Server]# netstat -anlp | grep 3306
tcp        0      0 :::3306                     :::*                        LISTEN      7358/mysqld         
[root@DB-Server Server]# netstat -anlp | grep 22
tcp        0      0 :::22                       :::*                        LISTEN      4020/sshd           
tcp        0     52 ::ffff:192.168.42.128:22    ::ffff:192.168.42.1:43561   ESTABLISHED 6198/2              
[root@DB-Server Server]#
ログイン後にコピー

Linux でどのポートが開いているかを確認する方法

上記のように、このツールは、nmap よりも簡潔さと明確さが劣るように感じられます。もちろん、nmap ほど強力ではありません。

3: lsof ツールは開いているポートを検出します

[root@DB-Server Server]# service mysql start
Starting MySQL......[  OK  ]
[root@DB-Server Server]# lsof -i:3306
COMMAND  PID  USER   FD   TYPE DEVICE SIZE NODE NAME
mysqld  7860 mysql   15u  IPv6  44714       TCP *:mysql (LISTEN)
[root@DB-Server Server]# service mysql stop
Shutting down MySQL..[  OK  ]
[root@DB-Server Server]# lsof -i:3306
[root@DB-Server Server]#
ログイン後にコピー

Linux でどのポートが開いているかを確認する方法

[root@DB-Server Server]# lsof -i TCP| fgrep LISTEN
cupsd     3153    root    4u  IPv4   9115       TCP localhost.localdomain:ipp (LISTEN)
portmap   3761     rpc    4u  IPv4  10284       TCP *:sunrpc (LISTEN)
rpc.statd 3797 rpcuser    7u  IPv4  10489       TCP *:1011 (LISTEN)
sshd      4020    root    3u  IPv6  12791       TCP *:ssh (LISTEN)
sendmail  4042    root    4u  IPv4  12876       TCP localhost.localdomain:smtp (LISTEN)
ログイン後にコピー

4: Telnet を使用してポートが開いているかどうかを検出します

サーバー ポートがリッスン状態であっても、ファイアウォール iptables がポートをブロックしている場合でも、この方法ではポートが開いているかどうかを検出することはできません。

5: netcat ツールは、ポートが開いているかどうかを確認します。

[root@DB-Server ~]# nc -vv 192.168.42.128 1521
Connection to 192.168.42.128 1521 port [tcp/ncube-lm] succeeded!
[root@DB-Server ~]# nc -z 192.168.42.128 1521; echo $?
Connection to 192.168.42.128 1521 port [tcp/ncube-lm] succeeded!
0
[root@DB-Server ~]#  nc -vv 192.168.42.128 1433
nc: connect to 192.168.42.128 port 1433 (tcp) failed: No route to host
ログイン後にコピー

関連する推奨事項:「Linux ビデオ チュートリアル

以上がLinux でどのポートが開いているかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Linuxアーキテクチャ:5つの基本コンポーネントを発表します Linuxアーキテクチャ:5つの基本コンポーネントを発表します Apr 20, 2025 am 12:04 AM

Linuxシステムの5つの基本コンポーネントは次のとおりです。1。Kernel、2。Systemライブラリ、3。Systemユーティリティ、4。グラフィカルユーザーインターフェイス、5。アプリケーション。カーネルはハードウェアリソースを管理し、システムライブラリは事前コンパイルされた機能を提供し、システムユーティリティはシステム管理に使用され、GUIは視覚的な相互作用を提供し、アプリケーションはこれらのコンポーネントを使用して機能を実装します。

GITの倉庫アドレスを確認する方法 GITの倉庫アドレスを確認する方法 Apr 17, 2025 pm 01:54 PM

gitリポジトリアドレスを表示するには、次の手順を実行します。1。コマンドラインを開き、リポジトリディレクトリに移動します。 2。「git remote -v」コマンドを実行します。 3.出力と対応するアドレスでリポジトリ名を表示します。

VSCODE前の次のショートカットキー VSCODE前の次のショートカットキー Apr 15, 2025 pm 10:51 PM

VSコードワンステップ/次のステップショートカットキー使用法:ワンステップ(後方):Windows/Linux:Ctrl←; macOS:CMD←次のステップ(フォワード):Windows/Linux:Ctrl→; macOS:CMD→

Apr 16, 2025 pm 07:39 PM

NotePadはJavaコードを直接実行することはできませんが、他のツールを使用することで実現できます。コマンドラインコンパイラ(Javac)を使用してByteCodeファイル(filename.class)を生成します。 Javaインタープリター(Java)を使用して、バイトコードを解釈し、コードを実行し、結果を出力します。

コードを書いた後に崇高に実行する方法 コードを書いた後に崇高に実行する方法 Apr 16, 2025 am 08:51 AM

Sublimeでコードを実行するには6つの方法があります。ホットキー、メニュー、ビルドシステム、コマンドライン、デフォルトビルドシステムの設定、カスタムビルドコマンド、プロジェクト/ファイルを右クリックして個々のファイル/プロジェクトを実行します。ビルドシステムの可用性は、崇高なテキストのインストールに依存します。

Linuxの主な目的は何ですか? Linuxの主な目的は何ですか? Apr 16, 2025 am 12:19 AM

Linuxの主な用途には、1。Serverオペレーティングシステム、2。EmbeddedSystem、3。Desktopオペレーティングシステム、4。開発およびテスト環境。 Linuxはこれらの分野で優れており、安定性、セキュリティ、効率的な開発ツールを提供します。

Laravelインストールコード Laravelインストールコード Apr 18, 2025 pm 12:30 PM

Laravelをインストールするには、これらの手順を順番に進みます。コンポーザー(MacOS/LinuxとWindows用)インストールLaravelインストーラーをインストールします。

GITソフトウェアのインストール GITソフトウェアのインストール Apr 17, 2025 am 11:57 AM

GITソフトウェアのインストールには、次の手順が含まれています。インストールパッケージをダウンロードしてインストールパッケージを実行して、インストール構成gitインストールgitバッシュ(Windowsのみ)を確認します

See all articles