tcpdump能否抓到被iptable封禁的包?

tcpdump在设备层通过packet_create函数挂载抓包点,先于IP层处理数据包。而netfilter在IP和ARP层工作,发包时可能被其过滤,影响tcpdump的可见性。tcpdump不受iptables封禁规则影响,能捕获网络设备层的数据。

tcpdump是如何工作的?

tcpdump工作在设备层,是通过虚拟协议的方式工作的。通过调用packet_create将抓包函数以协议的形式挂到ptype_all上。

当收包的时候,驱动中实现的igb_poll函数最终会调用到_netif_receive_skb_core,这个函数会在将包发送到协议栈函数(ip_recv、arp_recv等)之前,将包先发送到ptype_all抓包点。tcpdump就是基于这些抓包点来工作的。

iptables/netfilter是在哪一层实现的?

netfilter主要是在IP、ARP等层实现的

收包:

tcpdump工作在网络设备层,将包发送到IP层以前就能处理,netfilter工作在IP、ARP层,所以iptable封禁规则不影响tcpdump的抓包。

发包:

发包的时候,netfilter在协议层就被过滤掉了,所以tcpdump什么也看不到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值