20182018. 7. 11. 10:21

Network packet 데이터를 분석할 때, SQL Server port 1433 포트가 아닌 경우 NETMON TDS parser가 이를 올바르게 변환하지 못하므로 아래와 같은 방법을 이용할 수 있습니다.

 

NETMON 3.4 parser는 아래 폴더에 스크립트로 작성되어 있습니다.

C:\programdata\microsoft\Network Monitor 3\NPL\NetworkMonitor Parsers\Base

 

 

TDS TCP의 서브 프로토콜이므로 tcp.npl 파일을 에디터로 편집합니다.

 

//#  (c) 2009 CodePlex Foundation

//#

//#  Title:                  Transmission Control Protocol

//#

//#  Details:               

//#

//#  Public References:      RFC 793, 1644, 2385, 3168, 3540

//#

//#  Comments:              

//#

//#  Revision Class and Date:Minor, 4/28/2010

//#

//####

 

1433 포트를 검색한 뒤, 수집된 패킷 로그에서 사용된 SQL 포트를 CASE 구문에 추가합니다. 예를 들어 SQL Server 포트가 14333 이라면 아래와 같이.

 

... (중략)

                                           case 1433:

                                           case 14333: // 임시로 추가합니다.

                                                     while [FrameOffset + 8 <= FrameLength]

                                                     {

                                                                switch

                                                                {

                                                                           case UINT8( Framedata, Offset ) == 0x53:

                                                                                     SMP Smp;

                                                                           default:

                                                                                     TDS Tds;

                                                                }

                                                     }

 

... (중략)

 

 

파일 저장 후 netmon 을 관리자 권한으로 수행하면 Parser 파일들이 리빌드 됩니다. 이후 수집된 netmon 패킷 파일을 다시 불러 오시면 TDS 패킷이 성공적으로 파싱된 결과를 볼 수 있습니다.

 

 

작성자: Lai Go / 작성일자: 2018.07.11

 

Posted by Lai Go