現在接続されているIPとその状態を取得できるインターフェースはLinuxにありますか?ss
そして、私は知っていますが、すでにその機能を持っている他の「公式」カーネルインターフェース(ある場合)をnetstat
使用したいと思います。/proc/
存在しない場合は、この情報をどこで取得し始めますか?既定では、プログラムで検索できるように、この情報を含むインターフェイスが必要です。
ベストアンサー1
また、ss
現在netstat
推奨される他のツールはありません。
これを取得する方法に関する情報:
これにより、man netstat
リソースセクションでFILES
netstatが情報を収集するために使用するリストされたファイルのいくつかを表示できます。
その中に/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スレッドは次のとおりです。ここ。