0
如何在SOCK_PACKET套接字上发送数据而不指定它绑定的是哪个主机?我已经构建了IP头以显示它应该去的地方,但是write()将不起作用。在AF_PACKET套接字上发送数据
如何在SOCK_PACKET套接字上发送数据而不指定它绑定的是哪个主机?我已经构建了IP头以显示它应该去的地方,但是write()将不起作用。在AF_PACKET套接字上发送数据
不要。使用write(),使用sendto()。
如果您使用PF_PACKET,SOCK_DGRAM,那么它会为您建立链接层标头,这通常是您想要的。你仍然需要建立你使用的顶级协议。
指定目标参数中的sockaddr_ll。您可以指定链路层单播地址,多播地址或广播地址。
如果IP头包含目的地,那么与sendto()指定的主机有什么关系 – computergeek6 2009-08-23 20:26:47
是的,如果你正在发送一个IP包,如果你使用PF_PACKET,SOCK_DGRA,你仍然需要将它发送到合适的链路层地址。如果您想发送原始IP数据包,我建议您改用PF_INET,SOCK_RAW。 – MarkR 2009-08-23 20:36:38
如果我使用PF_INET,SOCK_RAW,我需要绑定套接字吗? – computergeek6 2009-08-23 20:41:12