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