linux下 获取本机ip地址和掩码地址
来源:互联网 发布:js判断数组是否为空 编辑:程序博客网 时间:2024/04/28 06:25
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <net/if.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <net/if_arp.h>
#include <string.h>
#include <asm/types.h>
#include <netinet/ether.h>
#include <sys/ioctl.h>
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
#include <stdlib.h>
int main(void)
{
struct sockaddr_in *my_ip;
struct sockaddr_in *addr;
struct sockaddr_in myip;
my_ip = &myip;
struct ifreq ifr;
char *local_ip,*local_mask;
if(ioctl(sock, SIOCGIFADDR, &ifr) < 0) //取本机掩码
int sock;
if((sock = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
{
return -1;
}
strcpy(ifr.ifr_name, "eth0");
//取本机IP地址
{
return -1;
}
my_ip->sin_addr = ((struct sockaddr_in *)(&ifr.ifr_addr))->sin_addr;
local_ip = inet_ntoa(my_ip->sin_addr);
printf(" local_ip is %s/n", local_ip);
if( ioctl( sock, SIOCGIFNETMASK, &ifr) == -1 ){
perror("[-] ioctl");
return -1;
}
addr = (struct sockaddr_in *) & (ifr.ifr_addr);
local_mask = inet_ntoa( addr->sin_addr);
printf(" local_mask is %s/n",local_mask);
close(sock);
return 0;
}
- linux下 获取本机ip地址和掩码地址
- linux下 获取本机ip地址和掩码地址
- linux下获取本机IP地址
- LINUX下获取本机IP地址
- Linux下获取本机IP地址
- linux下获取本机ip地址,ipv4和ipv6
- linux下获取本机ip地址,ipv4和ipv6
- Python获取本机所有网卡ip,掩码和广播地址
- Linux下C语言获取本机IP地址
- linux下c语言获取本机ip地址
- Linux下 shell获取本机ip地址
- Linux下Java获取本机IP地址
- Linux下C编程实现---获取本机IP地址
- linux下java获取本机IP地址
- MFC下如何获取本机IP和mac地址?
- win7下获取本机ip地址
- linux中获取本机ip和mac地址
- linux获取本机网卡ip地址
- ant build.xml study
- 字符处理系列一:C#字符串的使用
- html中window.opener与parent有何区别
- Special Stocks in SAP
- PHP 利用MySQL管理Session的回调函数
- linux下 获取本机ip地址和掩码地址
- clr
- 相当经典的 Vbs脚本编程简明教程之一—为什么要使用Vbs
- 很多人说“只要工作了,那不就有工作经验了?”
- c#.net 文本编辑控件——设置RichTextBox的字体格式:粗体、斜体、下划线
- 给计算机本科毕业生的建议
- 大腕Insenz篇 ^_^
- 为更好的发展做准备
- Vbs脚本编程简明教程之二—如何开始第一个Vbs脚本?