《网络安全开发包》学习笔记——获取接口名和掩码信息等
//一下是书上写的,编译时候使用 gcc -o getmask getmask_code.c -lpcap
#include
typedef u_int32_t in_addr_t;
struct in_addr
{
in_addr_t s_addr;
};
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);
printf("缃戠粶鎺ュ彛鍚嶆槸: %s\n",net_interface);
net_ip_address.s_addr=net_ip;
net_ip_string=inet_ntoa(net_ip_address);
printf("杈撳嚭缃戠粶鍦板潃: %s\n",net_ip_string);
net_mask_address.s_addr=net_mask;
net_mask_string= inet_ntoa(net_mask_address);
printf("瀛愮綉鎺╃爜鍦板潃: %s\n",net_mask_string);
}
//下面的这段是我修改的,把地址信息用socket编程中的struct sockaddr_in;
#include
//typedef u_int32_t in_addr_t;
//struct in_addr
//{
// in_addr_t s_addr;
//};
#include
#include
#include
struct sockaddr_in;
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);
printf("缃戠粶鎺ュ彛鍚嶆槸: %s\n",net_interface);
net_ip_address.s_addr=net_ip;
net_ip_string=inet_ntoa(net_ip_address);
printf("杈撳嚭缃戠粶鍦板潃: %s\n",net_ip_string);
net_mask_address.s_addr=net_mask;
net_mask_string= inet_ntoa(net_mask_address);
printf("瀛愮綉鎺╃爜鍦板潃: %s\n",net_mask_string);
}
阅读(615) | 评论(0) | 转发(0) |