View コマンドには次のものが含まれます: 1. ss コマンド (プロセス ポートの占有を確認できます)、構文は「ss -tnlp | grep "ポート番号"" です。 2. netstat コマンド (次のような関連情報を表示できます)」ポートとプロセスとして。構文 "netstat -tnlp | grep "ポート番号""; 3. lsof コマンド、構文 "lsof -i tcp:ポート番号" でポート占有を確認できます。 4. fuser コマンド、確認できますポート占有率、構文「fuser - v ポート番号/tcp」。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
ポートは、物理ポートやソフトウェア ポートなど、Linux システム上の特定のプロセス間の論理接続の識別子です。 Linux オペレーティング システムはソフトウェアであるため、この記事ではソフトウェア ポートについてのみ説明します。ソフトウェア ポートは常にホストの IP アドレスおよび関連する通信プロトコルに関連付けられるため、ポートはアプリケーションを区別するためによく使用されます。ネットワークに関連するほとんどのサービスは、受信ネットワーク要求をリッスンするためにソケットを開く必要があり、各サービスは個別のソケットを使用します。
ソケットは、IP アドレス、ソフトウェア ポート、およびプロトコルと組み合わせて使用されます。ポート番号は、伝送制御プロトコル (TCP) プロトコルとユーザー データグラム プロトコル (UDP) プロトコルの両方に適用されます。TCP と UDP の両方通信には0~65535のポート番号を使用してください。
次はポート割り当てカテゴリです:
0 – 1023: 共通ポートおよびシステム ポート
1024 – 49151 : ソフトウェア登録ポート
49152 – 65535: ダイナミック ポートまたはプライベート ポート
以下の 6 つの方法で表示できます。プロセスのポート情報
#ss: ソケット統計をダンプするために使用できます。
netstat: 開いているソケットのリストを表示できます。
lsof: 開いているファイルを一覧表示できます。
fuser: ファイルを開いているプロセスのプロセス ID をリストできます。
nmap: ネットワーク検出ツールおよびポート スキャナーです。
systemctl: systemd システムのコントロール マネージャーおよびサービス マネージャーです。
以下では、sshd デーモンによって使用されるポート番号を確認します。
方法 1: ss コマンドを使用する
ss は通常、ソケット統計をダンプするために使用されます。 netstat の出力と同様の情報を出力できますが、他のツールよりも多くの TCP 情報とステータス情報を表示できます。
PACKET、TCP、UDP、DCCP、RAW、Unix ドメインなど、あらゆるタイプのソケット統計を表示することもできます。
# ss -tnlp | grep ssh
#ポート番号を使用して確認することもできます。
# ss -tnlp | grep ":22"
方法 2: netstat コマンドを使用する
netstat は、ネットワーク接続、ルーティング テーブル、インターフェイス統計、マスカレード接続、マルチキャストメンバー。
デフォルトでは、netstat は開いているソケットをリストします。アドレス ファミリが指定されていない場合は、設定されているすべてのアドレス ファミリのアクティブなソケットが表示されます。ただし、netstat は時代遅れであり、代わりに ss が一般的に使用されます。
# netstat -tnlp | grep ssh
#ポート番号を使用して確認することもできます。
# netstat -tnlp | grep ":22"
方法 3: lsof コマンドを使用する
lsof は、開いているファイルを一覧表示し、システム情報のプロセスによって開かれているファイルを一覧表示できます。ファイルについて。
# lsof -i -P | grep ssh
#ポート番号を使用して確認することもできます。
# lsof -i tcp:22 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 1208 root 3u IPv4 20919 0t0 TCP *:ssh (LISTEN) sshd 1208 root 4u IPv6 20921 0t0 TCP *:ssh (LISTEN) sshd 11592 root 3u IPv4 27744 0t0 TCP vps.2daygeek.com:ssh->103.5.134.167:49902 (ESTABLISHED)
方法 4: フューザー コマンドを使用する
フューザー ツールは、ローカル システム上でファイルを開いているプロセスのプロセス ID を標準出力に表示します。 。
# fuser -v 22/tcp
方法 5: nmap コマンドを使用する
nmap (「ネットワーク マッパー」) は、ネットワークの検出とセキュリティのためのソフトウェアです。監査用のオープンソース ツール。元々は大規模なネットワークを高速にスキャンするために設計されましたが、個々のホストのスキャンにも優れたパフォーマンスを発揮します。
nmap は、生の IP パケットを使用して、ネットワーク上で利用可能なホスト、そのサービス (アプリケーション名とバージョンを含む)、ホストが実行しているオペレーティング システム (オペレーティング システムのバージョンなどの情報を含む)、タイプを判断します。パケット フィルターやファイアウォール、その他多くの情報。
# nmap -sV -p 22 localhost
方法 6: systemctl コマンドを使用する
systemctl 是 systemd 系统的控制管理器和服务管理器。它取代了旧的 SysV 初始化系统管理,目前大多数现代 Linux 操作系统都采用了 systemd。
# systemctl status sshd ● sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2018-09-23 02:08:56 EDT; 6h 11min ago Docs: man:sshd(8) man:sshd_config(5) Main PID: 11584 (sshd) CGroup: /system.slice/sshd.service └─11584 /usr/sbin/sshd -D Sep 23 02:08:56 vps.2daygeek.com systemd[1]: Starting OpenSSH server daemon... Sep 23 02:08:56 vps.2daygeek.com sshd[11584]: Server listening on 0.0.0.0 port 22. Sep 23 02:08:56 vps.2daygeek.com sshd[11584]: Server listening on :: port 22. Sep 23 02:08:56 vps.2daygeek.com systemd[1]: Started OpenSSH server daemon. Sep 23 02:09:15 vps.2daygeek.com sshd[11589]: Connection closed by 103.5.134.167 port 49899 [preauth] Sep 23 02:09:41 vps.2daygeek.com sshd[11592]: Accepted password for root from 103.5.134.167 port 49902 ssh2
以上输出的内容显示了最近一次启动 sshd 服务时 ssh 服务的监听端口。但它不会将最新日志更新到输出中。
# systemctl status sshd ● sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2018-09-06 07:40:59 IST; 2 weeks 3 days ago Docs: man:sshd(8) man:sshd_config(5) Main PID: 1208 (sshd) CGroup: /system.slice/sshd.service ├─ 1208 /usr/sbin/sshd -D ├─23951 sshd: [accepted] └─23952 sshd: [net] Sep 23 12:50:36 vps.2daygeek.com sshd[23909]: Invalid user pi from 95.210.113.142 port 51666 Sep 23 12:50:36 vps.2daygeek.com sshd[23909]: input_userauth_request: invalid user pi [preauth] Sep 23 12:50:37 vps.2daygeek.com sshd[23911]: pam_unix(sshd:auth): check pass; user unknown Sep 23 12:50:37 vps.2daygeek.com sshd[23911]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=95.210.113.142 Sep 23 12:50:37 vps.2daygeek.com sshd[23909]: pam_unix(sshd:auth): check pass; user unknown Sep 23 12:50:37 vps.2daygeek.com sshd[23909]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=95.210.113.142 Sep 23 12:50:39 vps.2daygeek.com sshd[23911]: Failed password for invalid user pi from 95.210.113.142 port 51670 ssh2 Sep 23 12:50:39 vps.2daygeek.com sshd[23909]: Failed password for invalid user pi from 95.210.113.142 port 51666 ssh2 Sep 23 12:50:40 vps.2daygeek.com sshd[23911]: Connection closed by 95.210.113.142 port 51670 [preauth] Sep 23 12:50:40 vps.2daygeek.com sshd[23909]: Connection closed by 95.210.113.142 port 51666 [preauth]
大部分情况下,以上的输出不会显示进程的实际端口号。这时更建议使用以下这个 journalctl 命令检查日志文件中的详细信息。
# journalctl | grep -i "openssh\|sshd"
相关推荐:《Linux视频教程》
以上がLinuxでプロセスポートを表示するコマンドは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。