Qui*_*tin 2 c linux networking data-processing packet
在linux中是否有任何方式以编程方式创建可以侦听的虚拟网络适配器,以便每当尝试通过适配器发送数据时,都会调用一个方法?
我试图将所有数据包转发到单个IP地址,然后将其原始位置包含在数据包中.
这样的事情:
void sendPacket(char to[], char data[])
Run Code Online (Sandbox Code Playgroud)
因此,如果我通过虚拟网络适配器ping google.com,则会像这样调用该方法 sendPacket("GooglesIp","Whatever data a ping sends")
我认为您正在寻找的是Linux中的TUN/TAP设备,它允许程序充当网络接口.
http://en.wikipedia.org/wiki/TUN/TAP
然后,您可以编写程序来侦听传入数据的TUN/TAP接口,并相应地处理它.基本上你会将ping路由到新的TUN/TAP接口,然后有一个程序从接口读取数据包,并从那里路由它们.
| 归档时间: |
|
| 查看次数: |
1491 次 |
| 最近记录: |