Chinaunix首页 | 论坛 | 博客
  • 博客访问: 77565
  • 博文数量: 32
  • 博客积分: 1440
  • 博客等级: 上尉
  • 技术积分: 375
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-25 16:03
文章分类

全部博文(32)

文章存档

2010年(12)

2008年(20)

我的朋友

分类: C/C++

2008-06-25 17:32:11

《网络安全开发包》学习笔记——获取接口名和掩码信息等
 
//一下是书上写的,编译时候使用 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) |
0

上一篇:没有了

下一篇:用iptables实现网页重定向

给主人留下些什么吧!~~