mediaios / net-diagnosis

ios平台网络诊断SDK,支持对ip和域名的ping,traceroute(udp,icmp协议),支持tcp ping, 端口扫描,nslookup,局域网活跃ip扫描等功能-----------Ios platform network diagnostic SDK, support ip and domain name ping, traceroute (udp, icmp protocol), support tcp ping, port scan, nslookup, LAN active ip scan and other functions
MIT License
555 stars 132 forks source link

大佬, 关于局域网扫描, 怎么能得到设备的名称? #8

Open luoshihui opened 5 years ago

luoshihui commented 5 years ago

目前的扫描得到的只是ip是否ping得通, mac地址和主机名这些能取得到吗? 怎么取?

mediaios commented 5 years ago

要想获得设备名称等信息,需要获取到mac地址,因为mac地址有几位表示设备厂商信息。ios限制了mac地址的获取,以前是可以获取到的,现在获取不到了。

luoshihui commented 5 years ago

看了下Fing这个app, 还是可以获取得到MAC地址, 好强大

mediaios commented 5 years ago

Shihui luo notifications@github.com于2019年10月16日 周三下午4:41写道:

看了下Fing这个app, 还是可以获取得到MAC地址, 好强大

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/mediaios/net-diagnosis/issues/8?email_source=notifications&email_token=ALBSXOZLZNGNTJQ5KF5SVFLQO3HTZA5CNFSM4JACFSCKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBLVC3A#issuecomment-542593388, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALBSXOZ2R2XFLMSP7TZCNHTQO3HTZANCNFSM4JACFSCA .

感觉可能不是通过手机渠道获取的,有可能是其它方式。我下载看一下。

mediaios commented 5 years ago

我抓了一下包分析了一下,发现它们有的设备的确可以通过局域网里的一些协议获取到mac地址,而不是通过苹果提供的api。你可以查一下 MDNS和NBNS协议,我看到他们就是在NBNS响应包里面获取到的设备名称和mac地址。我以后有时间会把这部分功能研究一下添加进去。

allan304 commented 5 years ago

我抓了一下包分析了一下,发现它们有的设备的确可以通过局域网里的一些协议获取到mac地址,而不是通过苹果提供的api。你可以查一下 MDNS和NBNS协议,我看到他们就是在NBNS响应包里面获取到的设备名称和mac地址。我以后有时间会把这部分功能研究一下添加进去。

大佬,除了pods外,有没有其它方式加入我的应用,能不能直接把framework放进去

mediaios commented 5 years ago

我抓了一下包分析了一下,发现它们有的设备的确可以通过局域网里的一些协议获取到mac地址,而不是通过苹果提供的api。你可以查一下 MDNS和NBNS协议,我看到他们就是在NBNS响应包里面获取到的设备名称和mac地址。我以后有时间会把这部分功能研究一下添加进去。

大佬,除了pods外,有没有其它方式加入我的应用,能不能直接把framework放进去

可以的,直接下载SDK,然后选择设置支持的CPU架构,接着build framework库就可以用了。

allan304 commented 5 years ago

我抓了一下包分析了一下,发现它们有的设备的确可以通过局域网里的一些协议获取到mac地址,而不是通过苹果提供的api。你可以查一下 MDNS和NBNS协议,我看到他们就是在NBNS响应包里面获取到的设备名称和mac地址。我以后有时间会把这部分功能研究一下添加进去。

大佬,除了pods外,有没有其它方式加入我的应用,能不能直接把framework放进去

可以的,直接下载SDK,然后选择设置支持的CPU架构,接着build framework库就可以用了。

嗯,弄好了,试了下,比MMLanScan好用点,要是能获取到hostname就更好了

allan304 commented 5 years ago

我抓了一下包分析了一下,发现它们有的设备的确可以通过局域网里的一些协议获取到mac地址,而不是通过苹果提供的api。你可以查一下 MDNS和NBNS协议,我看到他们就是在NBNS响应包里面获取到的设备名称和mac地址。我以后有时间会把这部分功能研究一下添加进去。

大佬,除了pods外,有没有其它方式加入我的应用,能不能直接把framework放进去

可以的,直接下载SDK,然后选择设置支持的CPU架构,接着build framework库就可以用了。

大佬,framework不支持模拟器吗,模拟器上跑报错了

mediaios commented 5 years ago

我抓了一下包分析了一下,发现它们有的设备的确可以通过局域网里的一些协议获取到mac地址,而不是通过苹果提供的api。你可以查一下 MDNS和NBNS协议,我看到他们就是在NBNS响应包里面获取到的设备名称和mac地址。我以后有时间会把这部分功能研究一下添加进去。

大佬,除了pods外,有没有其它方式加入我的应用,能不能直接把framework放进去

可以的,直接下载SDK,然后选择设置支持的CPU架构,接着build framework库就可以用了。

大佬,framework不支持模拟器吗,模拟器上跑报错了

报什么错误?是支持的,前提是你选择的cpu架构对。模拟器是x86_64的。或者你可以先build一个支持真机的framework命名a.framework,然后再选择模拟器build一个支持模拟器的framework,命名为a_x86.framework ,然后再用lipo命令合成一个frameowork。

mediaios commented 5 years ago

我抓了一下包分析了一下,发现它们有的设备的确可以通过局域网里的一些协议获取到mac地址,而不是通过苹果提供的api。你可以查一下 MDNS和NBNS协议,我看到他们就是在NBNS响应包里面获取到的设备名称和mac地址。我以后有时间会把这部分功能研究一下添加进去。

大佬,除了pods外,有没有其它方式加入我的应用,能不能直接把framework放进去

可以的,直接下载SDK,然后选择设置支持的CPU架构,接着build framework库就可以用了。

大佬,framework不支持模拟器吗,模拟器上跑报错了

报什么错误?是支持的,前提是你选择的cpu架构对。模拟器是x86_64的。或者你可以先build一个支持真机的framework命名a.framework,然后再选择模拟器build一个支持模拟器的framework,命名为a_x86.framework ,然后再用lipo命令合成一个frameowork。

直接在项目的 frameworks/v_1.0.12 目录下下载使用即可。

allan304 commented 5 years ago

我抓了一下包分析了一下,发现它们有的设备的确可以通过局域网里的一些协议获取到mac地址,而不是通过苹果提供的api。你可以查一下 MDNS和NBNS协议,我看到他们就是在NBNS响应包里面获取到的设备名称和mac地址。我以后有时间会把这部分功能研究一下添加进去。

大佬,除了pods外,有没有其它方式加入我的应用,能不能直接把framework放进去

可以的,直接下载SDK,然后选择设置支持的CPU架构,接着build framework库就可以用了。

大佬,framework不支持模拟器吗,模拟器上跑报错了

报什么错误?是支持的,前提是你选择的cpu架构对。模拟器是x86_64的。或者你可以先build一个支持真机的framework命名a.framework,然后再选择模拟器build一个支持模拟器的framework,命名为a_x86.framework ,然后再用lipo命令合成一个frameowork。

直接在项目的 frameworks/v_1.0.12 目录下下载使用即可。

谢谢大佬

luoshihui commented 4 years ago

通过Bonjour可以获取部分设备的名称了, 不过PC电脑的还是没找到办法. MacOS的网络可以看到很多PC电脑名称, 可以直接通过SMB连接.

SongBaiJun commented 4 years ago

大佬, 关于局域网扫描, 怎么能得到设备的类型啊(eg:电脑、手机、打印机、摄像头)?

GrapeFruitJun commented 3 years ago

通过Bonjour可以获取部分设备的名称了, 不过PC电脑的还是没找到办法. MacOS的网络可以看到很多PC电脑名称, 可以直接通过SMB连接.

请问是怎么实现的呢

mayqiyue commented 2 years ago

通过Bonjour可以获取部分设备的名称了, 不过PC电脑的还是没找到办法. MacOS的网络可以看到很多PC电脑名称, 可以直接通过SMB连接.

请问是怎么实现的呢

https://github.com/grandcentrix/GCXMulticastDNSKit