Linux システム管理者にとって、サービスがポートに正しくバインドされているか、またはポートをリッスンしているかどうかを知ることは非常に重要です。ポート関連の問題に対処する必要がある場合は、この記事が役立つかもしれません。 ポートは、物理ポートやソフトウェア ポートなど、Linux システム上の特定のプロセス間の論理接続の識別子です。 Linux オペレーティング システムはソフトウェアであるため、この記事ではソフトウェア ポートについてのみ説明します。ソフトウェア ポートは常にホストの IP アドレスと関連する通信プロトコルに関連付けられているため、ポートはアプリケーションを区別するために使用されることがよくあります。ネットワークに関わるほとんどのサービスは、着信ネットワーク要求をリッスンするためにソケットを開く必要があり、各サービスは個別のソケットを使用します。 ソケットは、IP アドレス、ソフトウェア ポート、およびプロトコルと組み合わせて使用されます。ポート番号は、伝送制御プロトコル (TCP) とユーザー データグラム プロトコル (UDP) の両方に適用されます。TCP と UDP はどちらも、通信に 0 ~ 65535 のポート番号を使用できます。 ポート割り当てのカテゴリは次のとおりです。
予約済みポートの詳細については、Linux の /etc/services ファイルを参照してください。 # /etc/services を減らす # /etc/サービス: # $Id: services,v 1.55 2013/04/14 ovasik Exp $ # ネットワークサービス、インターネットスタイル # IANA サービス バージョン: 最終更新日 2013-04-10 # 現在、IANAのポリシーでは、1つのよく知られた # TCPとUDPの両方のポート番号。したがって、ほとんどのエントリには2つのエントリがあります # プロトコルが UDP 操作をサポートしていない場合でも同様です。 # RFC 1700、「割り当てられた番号」(1994年10月)から更新されました。すべてのポートが # は、より一般的なものだけが含まれています。 # 最新のIANAポート割り当ては以下から取得できます。 # http://www.iana.org/assignments/port-numbers # 既知のポートは 0 から 1023 までです。 # 登録ポートは1024から49151までです # ダイナミックポートおよび/またはプライベートポートは49152から65535までです # 各行は 1 つのサービスを表し、次の形式になります。 # サービス名 ポート/プロトコル [エイリアス ...] [# コメント] tcpmux 1/tcp # TCP ポート サービス マルチプレクサ tcpmux 1/udp # TCP ポート サービス マルチプレクサ rje 5/tcp # リモートジョブエントリ rje 5/udp # リモートジョブエントリ エコー7/tcp エコー7/udp 破棄 9/tcp シンク null 破棄 9/udp シンク null systat 11/tcp ユーザー systat 11/udp ユーザー 昼間 13/tcp 昼間 13/udp qotd 17/tcp 引用 qotd 17/udp 引用 msp 18/tcp # メッセージ送信プロトコル (履歴) msp 18/udp # メッセージ送信プロトコル (履歴) チャージン 19/tcp ttytst ソース チャージン 19/udp ttytst ソース ftpデータ 20/tcp ftpデータ 20/udp # 21 は ftp に登録されていますが、fsp でも使用されます FTP 21/TCP ftp 21/udp fsp fspd ssh 22/tcp # セキュア シェル (SSH) プロトコル ssh 22/udp # セキュア シェル (SSH) プロトコル テルネット 23/tcp テルネット 23/udp # 24 - プライベートメールシステム lmtp 24/tcp # LMTP メール配信 lmtp 24/udp # LMTP メール配信 ポート情報を表示するには、次の 6 つの方法を使用できます。
次に、sshd デーモンが使用するポート番号を確認します。 方法1: ssコマンドを使用する ss は通常、ソケット統計をダンプするために使用されます。 netstat と同様の出力を生成しますが、他のツールよりも多くの TCP 情報とステータス情報を表示します。 また、PACKET、TCP、UDP、DCCP、RAW、Unix ドメインなど、あらゆる種類のソケット統計を表示することもできます。 # ss -tnlp | grep ssh LISTEN 0 128 *:22 *:* ユーザー:(("sshd",pid=997,fd=3)) LISTEN 0 128 :::22 :::* ユーザー:(("sshd",pid=997,fd=4)) ポート番号を使用して確認することもできます。 # ss -tnlp | grep ":22" LISTEN 0 128 *:22 *:* ユーザー:(("sshd",pid=997,fd=3)) LISTEN 0 128 :::22 :::* ユーザー:(("sshd",pid=997,fd=4)) 方法2: netstatコマンドを使用する netstat は、ネットワーク接続、ルーティング テーブル、インターフェイス統計、マスカレード接続、およびマルチキャスト メンバーシップを表示できます。 デフォルトでは、netstat は開いているソケットを一覧表示します。アドレス ファミリを指定しない場合は、設定されているすべてのアドレス ファミリのアクティブなソケットが表示されます。しかし、netstat は時代遅れなので、代わりに ss が使用されるのが一般的です。 # netstat -tnlp | grep ssh tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 997/sshd tcp6 0 0 :::22 :::* 997/sshdをリッスン ポート番号を使用して確認することもできます。 # netstat -tnlp | grep ":22" tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1208/sshd tcp6 0 0 :::22 :::* 1208/sshdを聴く 方法3: lsofコマンドを使用する lsof は、開いているファイルを一覧表示したり、システム上のプロセスによって開かれたファイルに関する情報を一覧表示したりできます。 # lsof -i -P | grep ssh コマンド PID ユーザー FD タイプ デバイス サイズ/オフ ノード名 sshd 11584 ルート 3u IPv4 27625 0t0 TCP *:22 (LISTEN) sshd 11584 ルート 4u IPv6 27627 0t0 TCP *:22 (LISTEN) sshd 11592 ルート 3u IPv4 27744 0t0 TCP vps.2daygeek.com:ssh->103.5.134.167:49902 (確立済み) ポート番号を使用して確認することもできます。 # lsof -i tcp:22 コマンド PID ユーザー FD タイプ デバイス サイズ/オフ ノード名 sshd 1208 ルート 3u IPv4 20919 0t0 TCP *:ssh (LISTEN) sshd 1208 ルート 4u IPv6 20921 0t0 TCP *:ssh (LISTEN) sshd 11592 ルート 3u IPv4 27744 0t0 TCP vps.2daygeek.com:ssh->103.5.134.167:49902 (確立済み) 方法4: fuserコマンドを使用する fuser ツールは、ローカル システム上でファイルを開いているプロセスのプロセス ID を標準出力に表示します。 # フューザー -v 22/tcp ユーザー PID アクセス コマンド 22/tcp: ルート 1208 F....sshd ルート 12388 F....sshd ルート 49339 F....sshd 方法5: nmapコマンドを使用する nmap (「Network Mapper」) は、ネットワーク検出およびセキュリティ監査用のオープン ソース ツールです。もともとは大規模ネットワークの高速スキャン用に設計されましたが、単一のホストのスキャンにも適しています。 nmap は、生の IP パケットを使用して、ネットワーク上で利用可能なホスト、それらのホストのサービス (アプリケーション名とバージョンを含む)、ホストが実行しているオペレーティング システム (OS バージョンなどの情報を含む)、使用中のパケット フィルターまたはファイアウォールの種類、およびその他の多くの情報を決定します。 # nmap -sV -p 22 ローカルホスト 2018-09-23 12:36 IST に Nmap 6.40 ( http://nmap.org ) を起動 ローカルホスト (127.0.0.1) の Nmap スキャン レポート ホストは稼働しています (遅延 0.000089 秒)。 ローカルホストのその他のアドレス(スキャンされていません): 127.0.0.1 港湾国サービスバージョン 22/tcp オープン ssh OpenSSH 7.4 (プロトコル 2.0) サービス検出が実行されました。誤った結果がある場合は、http://nmap.org/submit/ に報告してください。 Nmap 完了: 1 つの IP アドレス (1 つのホストが稼働中) を 0.44 秒でスキャンしました 方法6: systemctlコマンドを使用する systemctl は、systemd システムの制御マネージャーおよびサービス マネージャーです。これは古い SysV init システム管理に代わるもので、現在ほとんどの最新の Linux オペレーティング システムで使用されています。 # systemctl ステータス sshd ● sshd.service – OpenSSH サーバーデーモン ロード済み: ロード済み (/usr/lib/systemd/system/sshd.service; 有効; ベンダープリセット: 有効) アクティブ: 2018-09-23 02:08:56 EDT (日) からアクティブ (実行中)、6 時間 11 分前 ドキュメント: man:sshd(8) man:sshd_config(5) メイン PID: 11584 (sshd) Cグループ: /system.slice/sshd.service └─11584 /usr/sbin/sshd -D 9月23日 02:08:56 vps.2daygeek.com systemd[1]: OpenSSHサーバーデーモンを起動しています... 9月23日 02:08:56 vps.2daygeek.com sshd[11584]: サーバーは0.0.0.0ポート22でリッスンしています。 9月23日 02:08:56 vps.2daygeek.com sshd[11584]: サーバーはポート22でリッスンしています。 9月23日 02:08:56 vps.2daygeek.com systemd[1]: OpenSSHサーバーデーモンを起動しました。 9月23日 02:09:15 vps.2daygeek.com sshd[11589]: 103.5.134.167 ポート49899 によって接続が閉じられました [preauth] 9月23日 02:09:41 vps.2daygeek.com sshd[11592]: 103.5.134.167 ポート 49902 ssh2 から root のパスワードを受け入れました 上記の出力は、sshd サービスが前回開始されたときの ssh サービスのリスニング ポートを示しています。しかし、最新のログは出力に更新されません。 # systemctl ステータス sshd ● sshd.service – OpenSSH サーバーデーモン ロード済み: ロード済み (/usr/lib/systemd/system/sshd.service; 有効; ベンダープリセット: 有効) アクティブ: 2018-09-06 07:40:59 IST よりアクティブ (実行中)、2 週間 3 日前 ドキュメント: man:sshd(8) man:sshd_config(5) メイン PID: 1208 (sshd) Cグループ: /system.slice/sshd.service ├─ 1208 /usr/sbin/sshd -D ├─23951 sshd: [承認済み] └─23952 sshd: [ネット] 9月23日 12:50:36 vps.2daygeek.com sshd[23909]: 95.210.113.142 ポート51666からの無効なユーザーpi 9月23日 12:50:36 vps.2daygeek.com sshd[23909]: input_userauth_request: 無効なユーザー PI [preauth] 9月23日 12:50:37 vps.2daygeek.com sshd[23911]: pam_unix(sshd:auth): チェック合格; ユーザーは不明 9月23日 12:50:37 vps.2daygeek.com sshd[23911]: pam_unix(sshd:auth): 認証失敗; logname= uid=0 euid=0 tty=ssh ruser= rhost=95.210.113.142 9月23日 12:50:37 vps.2daygeek.com sshd[23909]: pam_unix(sshd:auth): チェック合格; ユーザーは不明 9月23日 12:50:37 vps.2daygeek.com sshd[23909]: pam_unix(sshd:auth): 認証失敗; logname= uid=0 euid=0 tty=ssh ruser= rhost=95.210.113.142 9月23日 12:50:39 vps.2daygeek.com sshd[23911]: 95.210.113.142 ポート 51670 ssh2 からの無効なユーザー pi のパスワードに失敗しました 9月23日 12:50:39 vps.2daygeek.com sshd[23909]: 95.210.113.142 ポート 51666 ssh2 からの無効なユーザー pi のパスワードに失敗しました 9月23日 12:50:40 vps.2daygeek.com sshd[23911]: 95.210.113.142 ポート51670 によって接続が閉じられました [preauth] 9月23日 12:50:40 vps.2daygeek.com sshd[23909]: 95.210.113.142 ポート51666 によって接続が閉じられました [preauth] ほとんどの場合、上記の出力にはプロセスの実際のポート番号は表示されません。このとき、ログ ファイルの詳細情報を確認するには、次の journalctl コマンドを使用することをお勧めします。 # journalctl | grep -i "openssh|sshd" 9月23日 02:08:56 vps138235.vps.ovh.ca sshd[997]: 信号15を受信しました。終了しています。 9月23日 02:08:56 vps138235.vps.ovh.ca systemd[1]: OpenSSHサーバーデーモンを停止しています... 9月23日 02:08:56 vps138235.vps.ovh.ca systemd[1]: OpenSSHサーバーデーモンを起動しています... 9月23日 02:08:56 vps138235.vps.ovh.ca sshd[11584]: サーバーは0.0.0.0ポート22でリッスンしています。 9月23日 02:08:56 vps138235.vps.ovh.ca sshd[11584]: サーバーはポート22でリッスンしています。 9月23日 02:08:56 vps138235.vps.ovh.ca systemd[1]: OpenSSHサーバーデーモンを起動しました。 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
<<: Vue プロジェクトをパッケージ化して Apache サーバーにデプロイする手順
>>: シェルスクリプトを使用したMySQLデータベースの自動バックアップ
目次序文1. MySQLをアンインストールする2. MySQLをインストールする要約する序文学習中に...
MySQL は、異なるユーザーに異なる権限を割り当てることができるマルチユーザー管理データベースであ...
CSS3 は、要素の 2D 平面変換と視覚的な 3D 空間変換を実装します。2D 変換はより頻繁に使...
現象の説明:プロジェクトでは、Springboot を使用して Web プロジェクトを開始します。起...
この記事では、シャトルボックス機能を実現するためのjQueryの具体的なコードを参考までに紹介します...
Shell は C 言語で書かれたプログラムであり、ユーザーが Linux を使用するための橋渡しと...
通常の開発では、凸型の丸い角、つまり border-radius 属性を使用するのが一般的です。凹角...
エンジニアリング構造プロジェクトは2つの部分に分かれています。bilibili-apiはAPIインタ...
1. 仮想環境はプロジェクトに従い、単一のプロジェクト用の仮想環境を作成します(Python 3.4...
<br />Web デザインと制作テスト パート I 多肢選択問題 1. 単一選択問題 ...
目次1. 資源と建設1.1 クリエイターリソースファイルの基本1.2 リソースの構築2. アセットバ...
1 はじめにデータベース内のデータを操作するための SQL 文を記述するときに、いくつかの不快な問題...
通常、コンポーネントのライフサイクルは、ビジネス ロジックが始まる場所です。ビジネスシナリオが複雑で...
定義と使用法display プロパティは、要素が生成するボックスのタイプを指定します。例示するこの属...
この記事の例では、計算機機能を実装するためのミニプログラムの具体的なコードを参考までに共有しています...