在这项法典中,一只载有包装材料,一只试图通过使用电线显示源和目的地地址,即使在此之前,我还是用六种格式印刷包装单和包装材料。 这里的问题既不相称, in/p inet_ntoa是错误的,如 o/p所示。
the src ip address should be 172.28.6.87 but inet_ntoa shows 86.212.172.28
the src ip address should be 172.28.6.110 but inet_ntoa shows 6.87.172.28
char *ptr = NULL;
ptr_fltr = (struct packet_filter*)(packet);
memcpy(out_data,packet,50);
printf("
");
for(i= 28;i<36;i++)
printf("%#x ",out_data[i]);
printf("*******************************************************************
");
printf("---------------------Received Packet Info--------------------
");
ptr = inet_ntoa(ptr_fltr->ip.ip_src);
printf("Source Ip Addr :%s
",ptr);
页: 1
struct packet_filter
{
struct mac_filter mac;
struct ip_filter ip;
union {
struct udp_filter proto;
}protocol;
}__attribute__((packed));
struct ip_filter
{
u_char ip_vhl;
u_char ip_tos; /* type of service */
u_short ip_len; /* total length */
u_short ip_id; /* identification */
u_short ip_off; /* fragment offset field */
u_char ip_ttl; /* time to live */
u_char ip_p; /* protocol */
u_short ip_sum; /* checksum */
struct in_addr ip_src; /* source and dest address */
struct in_addr ip_dst; /* source and dest address */
}__attribute__((packed));
产出
0xac 0x1c 0x6 0x57 0xac 0x1c 0x6 0x6e
************************************************************
--------------------Received Packet Info--------------------
Source Ip Addr :86.212.172.28
Destination Ip Addr :6.87.172.28