У меня нет проблем с тем, чтобы узнать, принадлежит ли сокет пользовательскому пространству - я просто просматриваю / proc /, чтобы узнать, какой PID владеет [сокетом]. Но с открытыми сокетами TCP в пространстве ядра нет записи в / proc / (поскольку ядро не имеет PID). Я предполагаю, что небезопасно предполагать, что только потому, что сокет не был найден в / proc, он был инициирован ядром. Я подумал о 7 недокументированных столбцах / proc / net / tcp в конце. Может быть, кто-то из них может подсказать, что это тоже происхождение сокета? Я не мог расшифровать исходный код ядра, чтобы понять, что представляют собой эти 7 полей.
Не мог бы кто-нибудь помочь мне, пожалуйста.
Пытаться netstat
с дополнительными аргументами:
sudo netstat -wtpeav
В sudo
там, чтобы убедиться, что вы запускаете его как root, иначе он не покажет вам все.
Возможные варианты:
-w, --raw
Show raw sockets.
-t, --tcp
Show TCP protocol sockets.
-p, --program
Show the PID and name of the program to which each socket
belongs.
-e, --extend
Display additional information. Use this option twice for
maximum detail.
-a, --all
Show both listening and non-listening sockets. With the
--interfaces option, show interfaces that are not up
--verbose , -v
Tell the user what is going on by being verbose. Especially
print some useful informa‐ tion about unconfigured address
families.
Кроме того, столбцы в конце /proc/net/tcp
задокументированы в дереве исходных текстов ядра в Документация / сеть / proc_net_tcp.txt. Конечные поля:
1000 0 54165785 4 cd1e6040 25 4 27 3 -1
| | | | | | | | | |--> slow start size threshold,
| | | | | | | | | or -1 if the threshold
| | | | | | | | | is >= 0xFFFF
| | | | | | | | |----> sending congestion window
| | | | | | | |-------> (ack.quick<<1)|ack.pingpong
| | | | | | |---------> Predicted tick of soft clock
| | | | | | (delayed ACK control data)
| | | | | |------------> retransmit timeout
| | | | |------------------> location of socket in memory
| | | |-----------------------> socket reference count
| | |-----------------------------> inode
| |----------------------------------> unanswered 0-window probes
|---------------------------------------------> uid