开发者

Is there a way to find out if an IP address belongs to an iPhone?

I am trying to find a simple way to check if an IP address belongs to an iPhone. A solution that I can imagine is to use nmap to dete开发者_JS百科rmine the operating system of the specified IP address and then check whether it's iOS.. Is this a right way? Otherwise, could anyone suggest me an alternative way?

Thank you, Thanasis


Looks like nmap does fingerprint iOS.


We can get the IP address by this code:

- (NSString *)getIPAddress
    {
        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) {
                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
                        address = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr)];
                    }
                }

                temp_addr = temp_addr->ifa_next;
            }
        }

        // Free memory
        freeifaddrs(interfaces);

        return address;
    }
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜