我在路由软件上使用 tcpdump,并尝试检查 ip/ip6 协议与 ip6/ip 主机(即其他 IP 系列)的存在,或者将 IPv4 和 IPv6 IP 的混合指定为主机,是否是多余的、毫无意义的,或者是用户数据清理错误。或者,它是否可以作为 tcpdump 捕获参数合理地发挥作用。
指定 proto='ip' 但主机包含 IPv6 IP(或 proto='ip6' 但主机包含 IPv4)的 tcpdump 是否一致——或者是否有意义?
这是否有意义或能返回有效结果?如果是,什么时候?
谢谢您的快速输入,这将很有帮助!
答案1
像这样吗?
# tcpdump -i eth0 '(ip or ip6) and host www.google.com'
为了说明一个观点,上述示例比实际需要的要复杂一些。下面的示例也同样适用。www.google.com
是包含 A 和 AAAA 记录的双栈主机 - tcpdump 在解析 DNS 主机时会自动执行“或”逻辑来合并结果。
# tcpdump -i eth0 'host www.google.com'
这实际上与以下相同:
# tcpdump -i eth0 '(host 74.125.237.20 or host 2404:6800:4006:800::1011)'
答案2
IPv4 数据包始终具有 IPv4 源地址和目标地址,IPv6 数据包始终具有 IPv6 源地址和目标地址。
我不太明白你想做什么,我猜这意味着:“不,这没有意义”