【那些年遇到过的面试题】tcpdump

来源:互联网 发布:linux怎么启动gedit 编辑:程序博客网 时间:2024/05/17 07:01

tcpdump的工作原理

linux下的抓包是通过注册一种虚拟的底层网络协议来完成对网络报文(准确的说是网络设备)消息的处理权。当网卡接收到一个网络报文之后,它会遍历系统中所有已经注册的网络协议,例如以太网协议、x25协议处理模块来尝试进行报文的解析处理,这一点和一些文件系统的挂载相似,就是让系统中所有的已经注册的文件系统来进行尝试挂载,如果哪一个认为自己可以处理,那么就完成挂载。
当抓包模块把自己伪装成一个网络协议的时候,系统在收到报文的时候就会给这个伪协议一次机会,让它来对网卡收到的报文进行一次处理,此时该模块就会趁机对报文进行窥探,也就是把这个报文完完整整的复制一份,假装是自己接收到的报文,汇报给抓包模块。


Linux 下抓取报文的位置,是在链路层处理报文之后,交给网络层之前的位置。


http://blog.csdn.net/s_k_yliu/article/details/6665673/


0 0