Тестирование ping на Ubuntu 22.04:
Host A IPv6: 1111:1111:1111:1111:1111:1111:1111:1111
Host B IPv6: 2222:2222:2222:2222:2222:2222:2222:2222
Хост А:
Теперь выполните ping с хоста A с помощью следующей команды bash:
root@host_a:~# ping -6 2222:2222:2222:2222:2222:2222:2222:2222
Хост Б:
Iptables отбросил некоторые пакеты и записал это в файл:
7 дек 18:21:52 ядро host_b: [ 988.996335] отброшен вывод: IN= OUT=ens33 SRC=192.168.1.1 DST=192.168.2.1 LEN=83 TOS=0x00 PREC=0x00 TTL=64 ID=52289 PROTO=UDP SPT=41151 DPT=53 LEN=63 UID=113 GID=118
7 дек 18:21:52 ядро host_b: [ 988.998359] отброшен вывод: IN= OUT=ens33 SRC=2222:2222:2222:2222:2222:2222:2222 DST=1111:1111:1111:1111:1111:1111:1111 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0
7 дек 18:21:53 host_b ядро: [ 990.001075] отброшен вывод: IN= OUT=ens33 SRC=2222:2222:2222:2222:2222:2222:2222 DST=1111:1111:1111:1111:1111:1111:1111 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0
Из first log line
, есть UID
и GID
информация:
UID=113 GID=118
Мы можем найти пользователя, используя этот метод:
root@host_b:~# cat /etc/passwd | grep 113
Но для строк 2nd
и в журнале 3rd
нет ни одного UID
или .GID
Вопрос:
Как узнать, какая программа отправляет следующие сетевые пакеты?
PROTO=ICMPv6 TYPE=136 CODE=0
Примечание:Согласно журналу iptables, эта «неизвестная» программа принимает входящие пакеты ICMPv6, а затем отправляет исходящие пакеты ICMPv6, но iptables не может регистрировать UID и GID этой «неизвестной» программы, когда пакет блокируется правилом.
решение1
видетьПротокол обнаружения соседейЗаблокированные сообщения ICMP принадлежат стеку ipv6. Блокировать их — не очень хорошая идея. Стек — часть ядра, пользовательского процесса нет. UID/GID пользовательского процесса отсутствует.