【发布时间】:2011-07-14 05:41:57
【问题描述】:
我正在开发一个程序,我需要知道我的程序中 IP 头字段的值。因为 IP 头是 20 个字节:
struct ipheader {
unsigned char ip_hl:4, ip_v:4; /* this means that each member is 4 bits */
unsigned char ip_tos;
unsigned short int ip_len;
unsigned short int ip_id;
unsigned short int ip_off;
unsigned char ip_ttl;
unsigned char ip_p;
unsigned short int ip_sum;
unsigned int ip_src;
unsigned int ip_dst;
};
有什么方法可以让我知道这些字段的值 在我的 C 程序中?
【问题讨论】:
-
您是否想知道如何从已经可用的数据包中解析字段,或者如何首先捕获包含标头的数据包?
-
我建议看看libpcap - 它应该会让你的生活更轻松。
-
查询是我怎样才能得到这些系统值,因为在创建一个简单的数据报包(UDP)时,我填充了 SrcIP 和端口,Dest IP 地址和端口并发送数据包,其余的默认情况下从系统堆栈中选择值。所以我想知道其余字段的值,例如:ttl、tos 等
标签: c