INetworkPacketParser
1.0.0
INetworkPacketParser
est un outil léger d'analyse de pile de protocole TCP/IP
orienté objet.
INetworkPacketParser
est un outil léger d'analyse de pile de protocole TCP/IP
orienté objet.
Prend en charge la conversion des données binaires transmises sur le réseau en objets OC
IP Packet
TCP/UDP/ICMP
DNS
(y compris les messages de demande et de réponse) Prend en charge la modification des attributs des objets OC et leur conversion en données binaires pouvant être directement transmises sur le réseau
IP Packet
TCP/UDP
resolv.lib
(installée automatiquement par CocoaPods) Prise en charge de l'installation des cocoapods
pod 'INetworkPacketParser'
- (void)test {
// 网络二进制报文
NSString *hex = @"4500003c 734f0000 ff114f69 0a0a0a0a 72727272 cd240035 00284c24 63780100 00010000 00000000 03777777 0669636c 6f756403 636f6d00 00010001";
NSData *rawData = [self dataFromHexString:hex];
// IP数据包解析
IPPacket *packet = [[IPPacket alloc] initWithRawData:rawData];
if (packet.header.transportProtocol == UDP) {
// UDP解析
IPUDPSegment *udpSegment = [[IPUDPSegment alloc] initWithRawData:packet.payload];
if (udpSegment.header.destPort == 53) {
// DNS解析
IPDNSMessage *dnsMessage = [[IPDNSMessage alloc] initWithRawData:udpSegment.payload];
dnsMessage.dnsHeader;
dnsMessage.dnsQuery;
dnsMessage.dnsAnswers;
}
}else if (packet.header.transportProtocol == TCP) {
// TCP解析
IPTCPSegment *tcpSegment = [[IPTCPSegment alloc] initWithRawData:packet.payload];
}
}
petitvous, [email protected]
Github : smallyou | Jianshu : 23 janvier