아래 자료는 VoIP패킷 분석을 하시려는분들을 위해 일부 자료를
오픈 합니다.
별게 아닌걸수도 있지만...유용하게 사용하셨으면 합니다.
그리고 퍼가실 경우 출처를 밝혀주셨으면 합니다.
* 이 문서에 대한 권한은 저자에게 있습니다.
퍼 가실때는 출처를 표시하여 주시고 메일로 연락을 주십시오. dif001@hamail.net
먼저 H.225 메시지의 구체적인 모습은 아래와 같다.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
Protocol Discriminator |
1 | |||||||
0 |
0 |
0 |
0 |
Length of call reference bits |
2 | |||
Call reference value |
3 (-4) | |||||||
0 |
Message type |
| ||||||
Information Elements |
| |||||||
H.225 structure |
그림 1-4 H.225 header
실제 패킷의 형태는 아래와 같다.
그림 1-5 H.225 alerting
sniffer capture 화면 (아래 참조)
그림 1-6 H.225 header
H.225 헤더의 각 필드의 뜻은 아래와 같다.
Protocol discriminator
Distinguishes messages for user-network call control from other messages.
사용자 – 네트워크 간의 콜 제어 메시지를 다른 메시지와 구분하기 위해 사용
0000 1000 (0x08) Q.931 사용자 – 네트워크 간의 콜 제어 메시지로 제안(권고)되어 있음.
Length of call ref
The length of the call reference value.
콜 참조 값의 길이
Call reference value
Identifies the call or facility registration/cancellation request at the local user-network interface to which the particular message applies. May be up to 2 octets in length.
Bit |
|
8(locate) |
|
0 |
콜 참조값을 생성한 곳에서 보내진 값 |
1 |
콜 참조값을 생성한곳으로 보내지는 값 |
최초의 값(8bit)를 제외한 값이 콜 참조 값이 된다.
예) Call reference field 179A
콜 참조 값 -> 6042 (dec)
콜 참조값을 생성한 곳에서 보내진 값
Message type
Identifies the function of the message sent. The following message types are used:
000 |
xxxxx |
01 02 07 0f 03 05 0D |
Call establishment messages: |
001 |
xxxxx |
|
Call information phase messages: |
010 |
xxxxx |
45 4D 5A 46 4E |
Call clearing messages: |
011 |
xxxxx |
7B 6E 7D 75 |
Miscellaneous messages: |
Information elements
Two categories of information elements are defined: single octet information elements and variable length information elements, as shown in the following illustrations
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
1 |
IEI |
Contents of IE |
1 | |||||
Single octet information element format (type 1) |
|
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
1 |
IE Identifier |
1 | ||||||
Single octet information element format (type 2) |
|
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
1 |
IEI |
1 | ||||||
Length of contents of IE |
2 | |||||||
Contents of IE |
3-n | |||||||
Variable length information element format |
|
이상의 부분은 H.225 header(Q.931) 이다.
위의 정보를 참고 하여 실제 프로토콜을 분석
08 |
02 |
97 |
9a |
01 |
7e |
00 |
1f |
08 – Q.931메시지를 나타낸다.
02 – length of call ref
97 9a – call reference number (최상위 1bit를 제외한 나머지 bit가 실제 length)
01 – message type(alerting)
실제적으로 메시지를 전달하게 되는 데이터 부분은 Q.931부분은 이 헤더 뒷부분에 저장 되어 전달 되게 된다
Packet상에서 Q.931메시지의 시작은 7e 부분이다.
7e – User – network- user
0111 1110(35)User - User
이하의 부분은 IE(Information Element)의 구체적인 정의부분이 필요하다.
이 정보를 확보한 후 Byte단위의 IE들을 Bit단위로 분석한다.
그림 1-6 H.225 header