Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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 在AF_数据包套接字上发送数据_Linux_Sockets_Raw Sockets - Fatal编程技术网

Linux 在AF_数据包套接字上发送数据

Linux 在AF_数据包套接字上发送数据,linux,sockets,raw-sockets,Linux,Sockets,Raw Sockets,如何在不指定绑定到哪个主机的情况下在SOCK_数据包套接字上发送数据?我构造了IP头来显示它应该去哪里,但是write()不起作用。不要。使用write(),使用sendto() 如果您使用pfu-PACKET、SOCK-DGRAM,那么它会为您构建链接层头,这通常是您想要的。不过,您仍然需要构建您在上面使用的任何更高的协议 在目标参数中指定一个sockaddr\u ll。您可以指定链路层单播地址、多播地址或广播地址。如果IP报头绝对包含目的地,则我使用sendto()指定的主机是否重要;如果您

如何在不指定绑定到哪个主机的情况下在SOCK_数据包套接字上发送数据?我构造了IP头来显示它应该去哪里,但是write()不起作用。

不要。使用write(),使用sendto()

如果您使用pfu-PACKET、SOCK-DGRAM,那么它会为您构建链接层头,这通常是您想要的。不过,您仍然需要构建您在上面使用的任何更高的协议


在目标参数中指定一个sockaddr\u ll。您可以指定链路层单播地址、多播地址或广播地址。

如果IP报头绝对包含目的地,则我使用sendto()指定的主机是否重要;如果您正在发送一个IP数据包,如果您正在使用PF_数据包,SOCK_DGRA,您仍然需要将其发送到相应的链路层地址。如果要发送原始IP数据包,我建议您使用PF_INET,SOCK_raw。如果我使用PF_INET,SOCK_raw,我是否需要绑定套接字?