草庐IT

multiple-interface-implem

全部标签

c - 如何获取与 TCP 套接字关联的接口(interface)名称/索引?

我正在编写一个TCP服务器,它需要知道每个连接来自哪个接口(interface)。我无法使用地址/子网来推断使用了哪个接口(interface),因为可能存在具有相同地址/子网值的接口(interface)。它基于Linux,代码无需可移植。我所能找到的只是获取所有接口(interface)的函数,或者通过索引获取单个接口(interface)的函数。我找不到任何方法来获取与已接受的TCP套接字关联的接口(interface)。有什么想法吗?我错过了什么?编辑:重申一下,IP地址在我的案例中不是唯一的。既不是目标地址(服务器本身)也不是源地址(客户端)。是的,这是一个非常极端的IP方案

c - 如何获取与 TCP 套接字关联的接口(interface)名称/索引?

我正在编写一个TCP服务器,它需要知道每个连接来自哪个接口(interface)。我无法使用地址/子网来推断使用了哪个接口(interface),因为可能存在具有相同地址/子网值的接口(interface)。它基于Linux,代码无需可移植。我所能找到的只是获取所有接口(interface)的函数,或者通过索引获取单个接口(interface)的函数。我找不到任何方法来获取与已接受的TCP套接字关联的接口(interface)。有什么想法吗?我错过了什么?编辑:重申一下,IP地址在我的案例中不是唯一的。既不是目标地址(服务器本身)也不是源地址(客户端)。是的,这是一个非常极端的IP方案

linux - 环回接口(interface)上的原始套接字是否可能?

我们正在尝试通过原始套接字与监听Linux环回接口(interface)的服务器进行通信,服务器似乎没有从我们这里获得一个数据包。我们发送的数据包在Wireshark中是可见的。环回上的原始套接字是否可能?(请不要问我们为什么需要它:这里解释起来太复杂了)编辑:这就是我们打开它的方式_I_RawSocket=socket(PF_PACKET,SOCK_RAW,htons(ETH_P_ALL)))memset(&ifr,0,sizeof(ifr));strcpy(ifr.ifr_ifrn.ifrn_name,_InterfaceName);ioctl(_I_RawSocket,SIOCG

linux - 环回接口(interface)上的原始套接字是否可能?

我们正在尝试通过原始套接字与监听Linux环回接口(interface)的服务器进行通信,服务器似乎没有从我们这里获得一个数据包。我们发送的数据包在Wireshark中是可见的。环回上的原始套接字是否可能?(请不要问我们为什么需要它:这里解释起来太复杂了)编辑:这就是我们打开它的方式_I_RawSocket=socket(PF_PACKET,SOCK_RAW,htons(ETH_P_ALL)))memset(&ifr,0,sizeof(ifr));strcpy(ifr.ifr_ifrn.ifrn_name,_InterfaceName);ioctl(_I_RawSocket,SIOCG

c++ - USB 通讯接口(interface)

是否有合适的USB通信API?最好是跨平台的(如果不是,我猜是Linux)我没有具体的用途,我只是想了解如何在未来的电子项目中使用USB端口。我意识到这是非常笼统的,我将尝试完善问题,因为答案为我指明了正确的方向。谢谢。 最佳答案 libusb应该适合你……跨平台、用户空间USB工具。 关于c++-USB通讯接口(interface),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions

c++ - USB 通讯接口(interface)

是否有合适的USB通信API?最好是跨平台的(如果不是,我猜是Linux)我没有具体的用途,我只是想了解如何在未来的电子项目中使用USB端口。我意识到这是非常笼统的,我将尝试完善问题,因为答案为我指明了正确的方向。谢谢。 最佳答案 libusb应该适合你……跨平台、用户空间USB工具。 关于c++-USB通讯接口(interface),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions

linux - 在具有多个接口(interface)的服务器上接收多播 (linux)

要在我的非默认NIC(dvb)上接收多播,我执行以下操作:打开一个套接字(AF_INET,SOCK_DGRAM)在dvb接口(interface)上使用IP_ADD_MEMBERSHIP加入多播地址绑定(bind)多播地址(注意一个常见的错误是绑定(bind)“0.0.0.0”然后在那个套接字上接收你不感兴趣的多播)和端口此时接收所需多播数据包的唯一方法是在路由表中添加一条规则,通过dvb到达发送方所在的网络(另一个网络),就好像dvb需要回复多播一样发件人;让我们说一种源发送者多播模式。任何人都知道发生了什么事?这个问题让我很烦,因为原则上我不知道发件人的ip。

linux - 在具有多个接口(interface)的服务器上接收多播 (linux)

要在我的非默认NIC(dvb)上接收多播,我执行以下操作:打开一个套接字(AF_INET,SOCK_DGRAM)在dvb接口(interface)上使用IP_ADD_MEMBERSHIP加入多播地址绑定(bind)多播地址(注意一个常见的错误是绑定(bind)“0.0.0.0”然后在那个套接字上接收你不感兴趣的多播)和端口此时接收所需多播数据包的唯一方法是在路由表中添加一条规则,通过dvb到达发送方所在的网络(另一个网络),就好像dvb需要回复多播一样发件人;让我们说一种源发送者多播模式。任何人都知道发生了什么事?这个问题让我很烦,因为原则上我不知道发件人的ip。

linux - 在 linux 中模拟网络接口(interface)上的传入数据包

如果你通常通过一个接口(interface)如eth0发送pcap的tcpreplay,数据包是出站的,即会通过网卡出去。有什么方法可以使pcaps入站,以便我的系统将其作为入站数据包处理?可能的场景我有一个从eth0接收数据包的应用程序,从数据包中提取一些详细信息并通过eth1发送它。现在,如果网络已设置并且真正的数据包实际流入我的系统,情况就很好了。但出于测试目的,我没有任何东西连接到我的eth0或eth1端口,但我仍然想从pcap(可能通过脚本)创建类似类型的流量,这样我就不必依赖外部物理网络连接用于测试应用程序。 最佳答案

linux - 在 linux 中模拟网络接口(interface)上的传入数据包

如果你通常通过一个接口(interface)如eth0发送pcap的tcpreplay,数据包是出站的,即会通过网卡出去。有什么方法可以使pcaps入站,以便我的系统将其作为入站数据包处理?可能的场景我有一个从eth0接收数据包的应用程序,从数据包中提取一些详细信息并通过eth1发送它。现在,如果网络已设置并且真正的数据包实际流入我的系统,情况就很好了。但出于测试目的,我没有任何东西连接到我的eth0或eth1端口,但我仍然想从pcap(可能通过脚本)创建类似类型的流量,这样我就不必依赖外部物理网络连接用于测试应用程序。 最佳答案