告诉 tcpdump 不要在输出中包含端口号

告诉 tcpdump 不要在输出中包含端口号

如何告诉 tcpdump 不要在输出中包含端口号?目前它包括解析后的 IP + 解析后的端口。我只需要解析后的 IP 地址(主机名)

答案1

您只是想要一个 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
}'

相关内容