Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 将数据从原始套接字发送到udp或tcp套接字_Linux_Sockets_Network Programming - Fatal编程技术网

Linux 将数据从原始套接字发送到udp或tcp套接字

Linux 将数据从原始套接字发送到udp或tcp套接字,linux,sockets,network-programming,Linux,Sockets,Network Programming,我正在努力学习Linux中的套接字。我有一个小的开发板,像raspberry Pi,里面运行Linux。不幸的是,它没有以太网或usb端口 我已经创建了一个虚拟网络接口,并像默认网关一样使用它。我已经编写了一个小程序,使用原始套接字监听虚拟接口(然后通过串行线将所有数据包发送到计算机,其中的程序将这些数据包发送到internet并接收答案,然后将它们发送回) 我的问题是,当我尝试ping一些公共IP地址时,我可以在tcpdump中看到计算机和开发板中的ICMP请求和响应。但是ping看起来好像什

我正在努力学习Linux中的套接字。我有一个小的开发板,像raspberry Pi,里面运行Linux。不幸的是,它没有以太网或usb端口

我已经创建了一个虚拟网络接口,并像默认网关一样使用它。我已经编写了一个小程序,使用原始套接字监听虚拟接口(然后通过串行线将所有数据包发送到计算机,其中的程序将这些数据包发送到internet并接收答案,然后将它们发送回)

我的问题是,当我尝试ping一些公共IP地址时,我可以在tcpdump中看到计算机和开发板中的ICMP请求和响应。但是ping看起来好像什么也没收到

我曾尝试使用环回接口而不是虚拟接口,但在这种情况下,ping被循环,设备在一段时间内变得不响应:)。但是ping确实收到了ICMP响应,并且TCP连接不起作用

我还尝试使用2个虚拟接口并创建桥接器

如果有任何建议,我将不胜感激。

使用tun接口解决:)看起来linux无法将原始套接字“绑定”到其他类型的套接字,因为所有数据包都被传输,而没有任何数据包被接收。