linux 下取得网络地址和掩码的代码
利用linux下的数据包捕获开发包libcap做的小实验:
#include <pcap.h>
typedef u_int32_t in_addr_t;
struct in_addr
{
in_addr_t s_addr;
};
void main()
{
char error_content[PCAP_ERRBUF_SIZE];
struct in_addr net_ip_address;
struct in_addr net_mask_address;
char *net_interface;
char *net_ip_string;
char *net_mask_string;
u_int32_t net_ip;
u_int32_t net_mask;
net_interface = pcap_lookupdev(error_content);
pcap_lookupnet( net_interface,
&net_ip,
&net_mask,
error_content);
/*ip&marks*/
printf("NetWork Interface is :%s/n", net_interface);
net_ip_address.s_addr = net_ip;
net_ip_string = inet_ntoa(net_ip_address);
printf("NetWork IP addressis :%s/n", net_ip_string);
net_mask_address.s_addr = net_mask;
net_mask_string = inet_ntoa(net_mask_address);
printf("NetWork Mack address is :%s",net_mask_string);
}
本文介绍了一个使用libpcap库在Linux环境下获取网络接口IP地址及子网掩码的C语言程序示例。通过调用pcap_lookupdev和pcap_lookupnet函数实现功能,并将结果以字符串形式输出。
2234

被折叠的 条评论
为什么被折叠?



