问题描述
- 用原始套接字截取数据链路层数据,那这包数还会在TCP/IP协议栈中传递吗
- 用原始套接字写了一个小程序,装在本机后,能够截取本机的发送/接收数据,想问一下,比如原始套接字程序在数据链路层截取到一个别人发给本机的数据,原始套接字程序截取到后,这包数还会向网络层上传,一步步再送到截取这包数的真正端口进程吗?会不会我一截取,该收到这包数的进程就收不到了呢?
解决方案
看你怎么截取的,一般是拦截,不影响数据包的发送。
解决方案二:
如果你不是通过驱动等,很可能你拿到的只是一份拷贝,所以数据还是继续向上处理了。
解决方案三:
在绝大多数的实现中,还会继续,当然如果被丢包了就不会继续了,原始套接字获得的只是报文的复制,不能干预内核协议栈的工作
时间: 2024-12-27 21:50:35