![]() |
1
1
两个想法(未经测试,首先谷歌他们看看是否有人做过这件事):
我想第一个更好,而且不那么脆弱。它需要一些微妙的stdlib知识,思想。此外,
最好的办法是搜索TCP库的其他用户,很可能已经有了某种“加载器”可以做到这一点。 |
![]() |
2
0
使用tun tap作为网桥是一个好主意,tap(而不是tun)可以为您提供完整的以太网包,包括ehternet(mac)头。这里我有一个问题要问您,您的用户空间堆栈如何处理传入的数据包。在您的帖子中,您提到它使用libpcap来获取数据包,但正如我所知,libpcap只会获取一个传入数据包的副本,然后该数据包仍然会传递到正常的内核堆栈路径,这可能不是您想要的。例如,如果它是应用程序的一个TCP数据包,它是基于用户空间TCP/IP堆栈运行的,而内核不知道它,可能只是发送一个RST数据包,它可能会中断您的正常连接。因此,我认为您的用户空间TCP/IP堆栈可能会应用一些特殊的方法来防止输入数据包被传递到内核,对吗?它是怎么做到的? |
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 6 月前 |
![]() |
user2138149 · 双栈网络服务器无法按预期处理ipv4请求 7 月前 |
![]() |
Marco · PyCharm Linux系统文件上os.stat异常 7 月前 |