PhoneNetSDK 1.0.12

PhoneNetSDK 1.0.12

mediaios 维护。



  • mediaios

iOS 网络诊断 SDK

阅读中文文档

简介

通过集成 iOS 网络诊断 SDK,您可以轻松地在 iPhone 上进行 ping/traceroute/移动公网信息/端口扫描。

这是使用此 SDK 开发的网络诊断应用的截图

图片说明图片说明 图片说明
图片说明图片说明 图片说明
图片说明图片说明图片说明

环境

  • iOS >= 9.0
  • Xcode >= 7.0
  • 设置 启用 BitcodeNO

安装和使用

Pod 依赖

将以下依赖项添加到您的项目的 Podfile

pod 'PhoneNetSDK'

快速开始

将 SDK 头文件导入到项目中

#import <PhoneNetSDK/PhoneNetSDK.h>

此外,您需要将 -lc++-ObjC$(inherited) 添加到项目的 构建设置->其他链接标志。如下所示

ping

 [[PhoneNetManager shareInstance] netStartPing:@"www.baidu.com" packetCount:10 pingResultHandler:^(NSString * _Nullable pingres) {
       // your processing logic 
  }];

TCP ping

_tcpPing = [PNTcpPing start:hostDomain port:portNum.integerValue count:3 complete:^(NSMutableString *pingres) {
	// your processing logic
}];

UDP traceroute

命令行上的默认 traceroute 命令发送 UDP 数据包(称为 udp traceroute)

 _udpTraceroute = [PNUdpTraceroute start:ip complete:^(NSMutableString *res) {
                    // your processinig logic
                }];

ICMP traceroute

在 Mac 的终端中,输入 traceroute -I baidu.com 使用 ICMP 协议进行 traceroute。此功能由 SDK 提供

 [[PhoneNetManager shareInstance] netStartTraceroute:@"www.baidu.com" tracerouteResultHandler:^(NSString * _Nullable tracertRes, NSString * _Nullable destIp) {
     // your processing logic                
  }];

nslookup

[[PhoneNetManager shareInstance] netLookupDomain:@"www.google.com" completeHandler:^(NSMutableArray<DomainLookUpRes *> * _Nullable lookupRes, PNError * _Nullable sdkError) {
	// your processing logic
}];

端口扫描

[[PhoneNetManager shareInstance] netPortScan:@"www.baidu.com" beginPort:8000 endPort:9000 completeHandler:^(NSString * _Nullable port, BOOL isOpen, PNError * _Nullable sdkError) {
	// your processing logic    
}];

局域网扫描

如果您想执行局域网活动IP扫描功能,可以使用SDK快速监控每个活动IP,SDK将返回扫描进度。

具体步骤如下

  1. 创建一个对象并设置代理 PNetMLanScannerDelegate
  2. 启动扫描并通过其代理方法处理活动IP
  3. 监控扫描进度(可选)
 PNetMLanScanner *lanScanner = [PNetMLanScanner shareInstance];
 lanScanner.delegate =  self;
 [lanScanner scan];

其他功能

  • 设置SDK日志级别
  • 获取设备公网IP信息

NetPinger示例

iOS平台网络诊断APP(使用SDK),支持ping和域名ping,路由追踪(UDP,ICMP协议),支持TCP ping,端口扫描,nslookup等功能。

只需将SDK安装到Podfile文件所在的目录即可成功运行。

macdeiMac:NetPinger ethan$ pod install 
Analyzing dependencies
Downloading dependencies
Installing PhoneNetSDK (1.0.7)
Generating Pods project
Integrating client project

[!] Please close any current Xcode sessions and use `NetPinger.xcworkspace` for this project from now on.
Sending stats
Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.

项目来源

在开发过程中,您经常会遇到界面问题(如DNS解析错误等),因此您需要检测移动终端与服务器网络的连接状态,因此您需要在手机上中断ping命令,但是市场上的免费网络检测工具大多数都有弹窗广告影响用户体验(例如:iNetTools),因此有必要开发一个网络监测的应用。

实施方法

所有功能都是使用SDK提供的功能实现的。页面和图标主要是模仿MAC上的《网络工具》,希望为您的应用程序提供有价值的参考。

联系我们

  • 如果您有任何问题或需要任何功能,请提交问题
  • 如果您想要贡献,请提交拉取请求
  • 欢迎starfork