linux-connections
LinuxシステムのTCP/IPネットワーク接続情報を照会します。/proc/net/ディレクトリのプロトコル別ファイルをパースし、/proc/ディレクトリでソケットinodeとプロセスIDのマッピング情報を収集して、各接続の詳細情報を構造化されたフィールドとして返します。
コマンドプロパティ
| 項目 | 説明 |
|---|---|
| コマンドタイプ | ドライバークエリ |
| 必要な権限 | 管理者 |
| ライセンス使用量 | 集計あり |
| 並列実行 | 非対応 |
| 分散実行 | データノードで実行(mapper) |
構文
linux-connections
出力フィールド
| フィールド | タイプ | 説明 |
|---|---|---|
pid | 32ビット整数 | プロセスID。ソケットinodeに対応するプロセスが見つからない場合はnullを返します。 |
rx_queue | 64ビット整数 | 受信キューの長さ(バイト) |
tx_queue | 64ビット整数 | 送信キューの長さ(バイト) |
protocol | 文字列 | プロトコル。tcp、tcp6、udp、udp6、raw、raw6、icmp、icmp6のいずれか |
local_ip | IPアドレス | ローカルIPアドレス |
local_port | 32ビット整数 | ローカルポート番号 |
remote_ip | IPアドレス | リモートIPアドレス |
remote_port | 32ビット整数 | リモートポート番号 |
state | 文字列 | 接続状態。UNKNOWN、ESTABLISHED、SYN_SENT、SYN_RECV、FIN_WAIT1、FIN_WAIT2、TIME_WAIT、CLOSED、CLOSE_WAIT、LAST_ACK、LISTEN、CLOSINGのいずれか |
エラーコード
パースエラー
| エラーコード | メッセージ | 説明 |
|---|---|---|
95040 | no-read-permission | 管理者権限なしに実行した場合 |
ランタイムエラー
該当なし
説明
linux-connectionsコマンドは以下のファイルからTCP/IPネットワーク接続情報を収集します:
/proc/net/tcp/proc/net/tcp6/proc/net/udp/proc/net/udp6/proc/net/raw/proc/net/raw6/proc/net/icmp/proc/net/icmp6(ファイルが存在する場合のみ)
各ファイルから接続エントリをパースした後、/proc/ディレクトリの各プロセスのファイルディスクリプタ情報を照会して、ソケットinodeとプロセスIDをマッピングします。これにより、各接続に対応するプロセスIDをpidフィールドに割り当てます。ソケットinodeに対応するプロセスが見つからない場合はpidフィールドにnullを割り当てます。
このコマンドには管理者権限が必要であり、権限がない場合はパース段階でエラーが発生します。
使用例
-
全ネットワーク接続情報を照会する
linux-connections現在のシステムのすべてのTCP/IPネットワーク接続情報を照会します。
-
LISTEN状態のTCP接続を照会する
linux-connections | search state == "LISTEN" and protocol == "tcp"TCPプロトコルでLISTEN状態の接続のみをフィルタリングします。
-
プロトコル別の接続数を集計する
linux-connections | stats count by protocolプロトコル別の接続数を集計します。