INetworkPacketParser
1.0.0
INetworkPacketParser
는 경량 객체 지향 TCP/IP
프로토콜 스택 구문 분석 도구입니다.
INetworkPacketParser
는 경량 객체 지향 TCP/IP
프로토콜 스택 구문 분석 도구입니다.
네트워크를 통해 전송된 바이너리 데이터를 OC 객체로 변환 지원
IP Packet
데이터 패킷 분석 지원TCP/UDP/ICMP
데이터 세그먼트 분석 지원DNS
메시지 분석(요청 및 응답 메시지 포함) OC 객체 속성 수정 및 이를 네트워크를 통해 직접 전송할 수 있는 바이너리 데이터로 변환 지원
IP Packet
메시지 구성 및 변조 지원TCP/UDP
데이터 세그먼트 구성 및 변조 지원resolv.lib
(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];
}
}
작은유, [email protected]
Github: smallyou: 1월 23일 |