как указать tcpdump, чтобы он не включал номера портов в вывод? Прямо сейчас он включает разрешенный IP + разрешенный порт. Мне просто нужен разрешенный IP-адрес (имена хостов)
Вам просто нужен список IP-адресов?
Если это так, это будет извлекать IP-адреса
sudo tcpdump -n | cut -d ' ' -f 5 | awk -F. '{ if (NF == 2) { print $1 } else { print $1 FS $2 FS $3 FS $4 }}'
это извлечет из IP-адресов
sudo tcpdump -n | cut -d ' ' -f 3 | awk -F. '{ if (NF == 2) { print $1 } else { print $1 FS $2 FS $3 FS $4 }}'
ipv6 безопасно.
Если вам действительно нужно все, кроме портов, это поможет (требуется gawk)
sudo tcpdump | gawk '{
split($3, from, ".");
$3 = from[1]
for (i=2; i<length(from); i++) {
$3 = $3 "." from[i]
}
split($5, to, ".");
$5 = to[1]
for (i=2; i<length(to); i++) {
$5 = $5 "." to[i]
}
print
}'