TZSP

TZSP

TaZmen Sniffer Protocol(TZSP)은 다른 프로토콜을 포장하는 데 사용되는 캡슐화 프로토콜이다.일반적으로 802.11 무선 패킷을 포장하여 침입 탐지 시스템(IDS), 무선 추적 또는 기타 무선 응용 프로그램을 지원하는 데 사용된다.

프로토콜 요약

다수의 802.11 센서와 액세스 포인트패킷 캡처를 위해 TZSP 프로토콜을 사용한다.UDP를 통해 다른 프로토콜을 캡슐화하도록 설계된 개방형 프로토콜이다. 이 프로토콜의 주요 용도는 무선 트래픽의 포착과 유선 네트워크를 통한 전송이었다.

프로토콜 헤더

프로토콜은 각 TZSP 패킷에 대해 3개의 파트를 지정했다: 4바이트 헤더에 이어 하나 이상의 태그된 필드가 뒤따랐고, 그 중 마지막은 TAG_END(0x01)이어야 하며, 마지막으로 캡슐화된 데이터.

머리글과 태그가 지정된 필드는 적절한 경우 빅 엔디안 순서를 사용한다.

헤더 버전(1무서명 바이트)
유형(서명되지 않은 바이트 1개)
캡슐화된 프로토콜(서명되지 않은 쇼트 1개)
태그 지정된 필드 태그 지정된 필드(변수 길이)
태그 필드 끝(1바이트 미서명)
캡슐화된 패킷 캡슐화된 패킷(변수 길이)

버전

TZSP 버전은 항상 1(0x01)로 설정되어야 한다.

유형

0 (0x00) 수신 태그 목록 1 (0x01) 전송 2용 패킷 (0x02) 예약 3 (0x03) 구성 4 (0x04) Keepalive 5 (0x05) 포트 오프너

캡슐화된 프로토콜

1 (0x01) 이더넷 18 (0x12) IEEE 802.11 119 (0x77) 프리즘 헤더 127 (0x7F) WLAN AVS

태그 지정된 필드

태그가 지정된 필드는 1바이트 태그 유형으로 구성되며, 그 다음으로는 1바이트 태그 길이, 그 다음으로는 가변 데이터 양으로 구성된다.태그 길이에는 태그 유형 또는 태그 길이가 포함되지 않는다.모든 TZSP 호환 디코더는 알 수 없는 태그 지정 필드를 건너뛰어야 한다.

<1 미서명 바이트 > 태그 유형 <1 미서명 바이트 > 태그 길이 <변수 길이> 태그 길이에 따라 달라짐

이 형식에는 두 가지 예외가 있다.첫째, TAG_END(0x01)를 수신하면 태그가 지정된 모든 필드의 끝이다.태그 길이나 관련 데이터가 없다.두 번째는 TAG_PADding(0x00)이다.이것은 어느 지점에서나 삽입될 수 있으므로 무시해야 한다.태그 길이나 태그 데이터가 없다.

다음은 유효한 TZSP 태그 유형이다.

TAG_PADding = 0(0x00)

이 특수 태그 필드는 태그 길이도 태그 데이터도 없다.수신자는 그것을 무시해야 한다.그것은 때때로 액자를 단어 경계까지 싸는 데 사용된다.

TAG_END = 1(0x01)

이 특수 태그 필드는 태그 길이도 태그 데이터도 없다.태그가 더 이상 없다는 뜻이다.이 태그를 따라 UDP 패킷이 끝날 때까지 캡슐화된 프레임이 있다.이것은 캡슐화된 데이터 이전에 반드시 포함되어야 하는 유일한 태그다.어떤 변수 태그도 이것을 따를 수 없다.

TAG_RAW_RSI = 10(0x0A)

이 필드는 센서로부터 얻은 원시 RSSI를 포함한다.데이터는 서명된 바이트 또는 서명된 단축 바이트 중 하나이다.

TAG_SNR = 11(0x0B)

이 필드에는 센서에서 얻은 원시 노이즈가 포함되어 있다.데이터는 서명된 바이트 또는 서명된 단축 바이트 중 하나이다.

TAG_DATA_RATE = 12(0x0C)

이 필드는 캡슐화된 패킷이 전송된 데이터 속도를 포함한다.

사용할 수 있는 유효한 값은 다음과 같다.

2 (0x02) = 1MB/s 4 (0x04) = 2MB/s 11 (0x0B) = 5.5MB/s  12 (0x0C) =   6MB/s  18 (0x12) =   9MB/s  22 (0x16) =  11MB/s  24 (0x18) =  12MB/s  36 (0x24) =  18MB/s  44 (0x2C) =  22MB/s  48 (0x30) =  24MB/s  66 (0x42) =  33MB/s  72 (0x48) =  36MB/s  96 (0x60) =  48MB/s 108 (0x6C) =  54MB/s

다음은 오래된 프리즘 기반 센서에 사용될 수 있는 오래된 상수들이다.TZSP 디코더는 디코딩할 수 있어야 하지만 TZSP 인코더에는 사용할 수 없어야 한다.

10 (0x0A) = 1MB/s 20 (0x14) = 2MB/s 55 (0x37) = 5.5MB/s 110(0x6E) = 11MB/s

TAG_TIMestamp = 13(0x0D)

센서 MAC가 패킷을 받은 시간이다.그것은 4바이트 무부호다.

TAG_CONTENT_FREE = 15(0x0F)

이것은 패킷이 경합이 없는 기간에 전송되었는지 여부를 확인하는 데 사용된다.1바이트 미서명 바이트다.

TAG_DECHED = 16(0x10)

이것은 패킷이 해독되었는지 여부를 알려주는 데 사용된다.1바이트 미서명 바이트다.

TAG_FCS_ERROR = 17(0x11)

이것은 패킷이 수신에서 FCS(프레임 체크 시퀀스) 오류가 있었는지를 확인하는 데 사용된다.1바이트 미서명 바이트다.1(0x01)은 패킷 디코딩 시 FCS 오류가 발생했음을 명시한다.0(0x00) 또는 이 필드의 제외는 디코딩 오류가 없었다는 것을 의미한다.다른 모든 값은 유보되어 있다.

TAG_RX_CHANNEL = 18(0x12)

이것은 센서가 패킷을 캡처할 때 켜졌던 채널이다.그것은 패킷이 전송된 채널이 아니다.이것은 서명되지 않은 바이트로 저장된다.

TAG_PACKET_COUNT = 40(0x28)

이것은 단조롭게 증가하는 패킷 수입니다.그것은 서명되지 않은 4바이트로 저장된다.

TAG_RX_FRONE_LENGE = 41(0x29)

이것은 받은 패킷 길이 입니다.그것은 반드시 잘렸을지도 모르는 전송 패킷의 크기가 아니다.이것은 서명되지 않은 2바이트 단축형으로 저장된다.

TAG_WLAN_RADIO_HDR_SERIAL = 60(0x3C)

이는 일부 센서 벤더가 패킷을 캡처한 센서나 AP의 일련 번호 또는 기타 고유 식별자를 지정하기 위해 사용한다.가변 길이 필드 입니다.

캡슐화된 패킷

캡슐화된 패킷은 태그가 지정된 필드 바로 뒤에 저장되어야 한다.이 캡슐화된 패킷은 원래 전체 패킷 크기에서 잘릴 수 있으며 TAG_RX_FRONE_LEND 필드에 지정된 크기와 같은 크기가 필요하지 않다.캡슐화된 패킷이 UDP 패킷의 나머지 전체를 차지하는 것으로 가정한다.

오픈 소스 지원

참조

외부 링크