set socket option ist, warum so wichtig für ein socket (IP_HDRINCL) In ICMP-Anfrage?
Ich bin neu auf socket-Programmierung
Sah ich einen ICMP-Anfrage Programm , in dass Sie setsockopt
an eine Steckdose
int on = 1;
setsockopt(s, IPPROTO_IP, IP_HDRINCL, &on, sizeof(on))
aber auch wenn ich nicht mit dieser Anweisung, wird das Programm korrekt läuft. Warum ist es so
wichtig zu erwähnen, um den kernel mit dieser Buchse einschließlich der IP-Struktur?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
IP_HDRINCL
option ist das folgende (aus der man-page):Vermutlich Ihr Programm baut ein IP-header. Wenn Sie diese option entfernen, wird es mit dem kernel-IP-header. Ob das 'funktioniert' oder nicht, hängt davon ab, was dein Programm tut. Vielleicht unter bestimmten Umständen kann es will, passen Sie die IP-header und mit diesem entfernt, dass wird nicht funktionieren.
Wenn Sie nach den rest des Programms, oder erzählen Sie uns ein bisschen über es, wir könnten in der Lage sein zu helfen.
TTL
undDF
im IP-header (abgesehen von anderen Dingen), die alle den header von Hand geschrieben.