首页 > 代码库 > 网络编程

网络编程

技术分享

需求:双网卡实现同网段报文转发

方案1:

1.开启两个线程,利用libpcap抓包函数库分别在网卡0和网卡2上抓;

2.利用libnet函数库,哪块网卡抓取到报文,就往另外一块网卡发送。

期间遇到问题:

从网卡0网口入的报文被抓取到后,在扔给网口2时,网卡2又抓回该报文送给网卡0,形成循环,影响性能。从网卡2入的报文,同理。

 

解决方案:在两个线程间共享内存,设置全局变量,标识报文的方向,有的放失。

网络编程