Linuxインターフェイスが接続されているIPを取得します。

Linuxインターフェイスが接続されているIPを取得します。

現在接続されているIPとその状態を取得できるインターフェースはLinuxにありますか?ssそして、私は知っていますが、すでにその機能を持っている他の「公式」カーネルインターフェース(ある場合)をnetstat使用したいと思います。/proc/存在しない場合は、この情報をどこで取得し始めますか?既定では、プログラムで検索できるように、この情報を含むインターフェイスが必要です。

ベストアンサー1

また、ss現在netstat推奨される他のツールはありません。

これを取得する方法に関する情報:

これにより、man netstatリソースセクションでFILESnetstatが情報を収集するために使用するリストされたファイルのいくつかを表示できます。

その中に/proc/net/tcpはとがあります/proc/net/udp

cat /proc/net/tcpシステムのTCP接続に関するさまざまな情報を表示できる場合。

出力例は次のとおりです。

sl local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode
0: 0101007F:0035 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 11190 1 0000000000000 000 100 0 0 10 0
1: 8700A8C0:91FC 0F02000A:15B3 01 00000000:00000000 02:00000AF6 00000000  1000        0 5565254 2 00000000000 00000 46 4 13 10 -1

rem_addressこれがあなたが探しているIPです。私はよく知りませんが、st現在の状況についていくつかの情報を提供できるようです。0AでなければならないということをLISTEN意味01するESTABLISHED

たとえば、デコードはlocal_addressとてもrem_address簡単です。8700A8C0:8F76

Format: hex(rev_ip):hex(port)

87 -> 135
00 -> 0
A8 -> 168
C0 -> 192
:8F76 -> 36726

=> 192.168.0.135, Port 36726

このディレクトリの詳細について/proc/netは、ここ

提供されたデータの詳細については、ここ

関連するSOスレッドは次のとおりです。ここ

おすすめ記事