获取路由器的ip
来源:互联网 发布:华视微讯网络摄像机 编辑:程序博客网 时间:2024/04/20 00:31
最近做的项目需要获取路由器地址,查了很多资料以下方法终于成功了。
需要引用的头文件
- #include <sys/socket.h>
- #import <netinet/in.h>
- #import <netinet6/in6.h>
- #import <arpa/inet.h>
- #import <ifaddrs.h>
- #include <netdb.h>
- #import <SystemConfiguration/SCNetworkReachability.h>
- #import "getgateway.h"
- #import <arpa/inet.h>
具体实现
- - (NSString *) routerIp {
- NSString *address = @"error";
- struct ifaddrs *interfaces = NULL;
- struct ifaddrs *temp_addr = NULL;
- int success = 0;
- // retrieve the current interfaces - returns 0 on success
- success = getifaddrs(&interfaces);
- if (success == 0)
- {
- // Loop through linked list of interfaces
- temp_addr = interfaces;
- //*/
- while(temp_addr != NULL)
- /*/
- int i=255;
- while((i--)>0)
- //*/
- {
- if(temp_addr->ifa_addr->sa_family == AF_INET)
- {
- // Check if interface is en0 which is the wifi connection on the iPhone
- if([[NSString stringWithUTF8String:temp_addr->ifa_name] isEqualToString:@"en0"])
- {
- // Get NSString from C String //ifa_addr
- //ifa->ifa_dstaddr is the broadcast address, which explains the "255's"
- // address = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_dstaddr)->sin_addr)];
- address = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr)];
- //routerIP----192.168.1.255 广播地址
- NSLog(@"broadcast address--%@",[NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_dstaddr)->sin_addr)]);
- //--192.168.1.106 本机地址
- NSLog(@"local device ip--%@",[NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr)]);
- //--255.255.255.0 子网掩码地址
- NSLog(@"netmask--%@",[NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_netmask)->sin_addr)]);
- //--en0 端口地址
- NSLog(@"interface--%@",[NSString stringWithUTF8String:temp_addr->ifa_name]);
- }
- }
- temp_addr = temp_addr->ifa_next;
- }
- }
- // Free memory
- freeifaddrs(interfaces);
- in_addr_t i =inet_addr([address cStringUsingEncoding:NSUTF8StringEncoding]);
- in_addr_t* x =&i;
- unsigned charchar *s=getdefaultgateway(x);
- NSString *ip=[NSString stringWithFormat:@"%d.%d.%d.%d",s[0],s[1],s[2],s[3]];
- NSLog(@"路由器地址-----%@",ip);
- return ip;
- }
0 0
- 获取路由器的ip
- 获取路由器的Mac地址和当前的iP地址
- delphi 怎么获取局域网路由器出口的IP
- 二级路由器不能获取上级路由自动分配的IP
- 获取路由器的IP地址,手机的Hostname,手机的ip地址
- 在wifi下获取本机的ip和路由器ip
- 获取设备IP及路由器地址
- java重启路由器并获取IP
- linux下获取路由器IP地址
- phonegap获取本地内网(路由器分配的)IP地址(IPV4)
- Android获取手机及路由器的Mac地址和IP地址
- 磊科路由器动态获取IP模式下不显示DNS设置的问题
- java 获取本地路由器分配给电脑的IP地址与主机名相关
- CentOS6.0通过路由器自动获取IP上网
- 通过网页获取路由器外网IP地址
- UBUNTU通过路由器动态获取IP上网设…
- CISCO路由器部分设备不能通过DHCP自动获取IP
- NETGEAR路由器登录不上 重新获取ip
- javascript的数组创建及方法
- swift学习
- Docker在PHP项目开发环境中的应用
- PHPExcel一些常用方法01
- android JNI开发基本步骤
- 获取路由器的ip
- leetcode 238 Product of Array Except Self
- vim 打开文件末尾带有^M的解决办法
- 剑指Offer:栈的压入、弹出序列(JAVA)
- Django学习随手记(一)
- PHPExcel一些常用方法02
- 正则表达式将数字金额转成中文和英文
- uiview的contentmode的使用
- git 把文件从 版本管理中移除