この「struct iphdr* ip_reply」を使用して、この関数で受信したパケットを読み取ります。
recvfrom(sockfd, buffer, sizeof(struct iphdr) + sizeof(struct icmphdr), 0, (struct sockaddr *)&connection, &addrlen))
ip_reply = (struct iphdr*) バッファ; // キャスト => 受信したパケットから IP ヘッダーを読み取る
これは構造体パラメータです:
struct iphdr { #if defined(__LITTLE_ENDIAN_BITFIELD) __u8 ihl:4, version:4; #elif defined (__BIG_ENDIAN_BITFIELD) __u8 version:4, ihl:4; __u8 tos; __be16 tot_len; __be16 id; __be16 frag_off; __u8 ttl; __u8 protocol; __sum16 check; __be32 saddr; __be32 daddr; /*The options start here. */ };
printfで「saddr」「daddr」を表示するにはどうすればよいですか?