Die Familie des Kernels von printf()
Funktionen hat einen speziellen Formatbezeichner für IP-Adressen (%pI4
für IPv4-Adressen %pI6
für IPv6).
Bei IPv4 könnten Sie also so etwas verwenden wie:
char source[16];
snprintf(source, 16, "%pI4", &ip_header->saddr); // Mind the &!
Oder in dynamisch zugewiesenen Speicher schreiben.
Wenn Sie nur die Debug-Ausgabe drucken möchten, können Sie auch printk()
verwenden . Für die vielen anderen Funktionen von %p
, siehe dieses Dokument.