2007~2011/Windows Platform2011. 5. 24. 09:39

Windows Server 2003 에서 터미널 서비스에 로그인 한 사용자의 IP Address 를 가져올 수 있는 방법이 없을까요? 보안 이벤트 로그에 기록된 성공 감사 기록을 바탕으로 Log Parser 를 통해 IP Address 를 가져올 수 있습니다.


[요구사항 및 조건]
Log Parser 로 파싱한 조건은 Windows Server 보안 이벤트 로그의 성공 감사, 이벤트 ID 528 에 대해서 원본 네트워크 주소를 가져오는 쿼리입니다.


[원본 이벤트 로그]

이벤트 형식:       성공 감사
이벤트 원본:       Security
이벤트 범주:       로그온/로그오프
이벤트 ID:          528
날짜:                 5/24/2011
시간:                 9:25:24 AM
사용자:              W2K3EEKOR\Administrator
컴퓨터:  W2K3EEKOR
설명:
로그온 성공:
           사용자 이름:       Administrator
           도메인:              W2K3EEKOR
           로그온 ID:                      (0x0,0x79BECE)
           로그온 유형:       10
           로그온 프로세스: User32 
            인증 패키지:       Negotiate
           워크스테이션 이름:          W2K3EEKOR
           로그온 GUID:      -
           호출자 사용자 이름:         W2K3EEKOR$
           호출자 도메인:    WORKGROUP
           호출자 로그온 ID:            (0x0,0x3E7)
           호출자 프로세스 ID: 3272
           전송된 서비스: -
           원본 네트워크 주소:         192.168.1.1
           원본 포트:          49634



[LOG PARSER 쿼리]
Strings 필드에 '|' 으로 구분된 13번째  IP Address, 3번째 로그온 유형(10) 을 조건으로 결과 가져오기

C:\Program Files\Log Parser 2.2>logparser.exe -o:CSV "SELECT TimeGenerated, EXTR
ACT_TOKEN(Strings,13,'|') AS IP_ADDRESS FROM Security WHERE EventID=528 AND EXTR
ACT_TOKEN(Strings,3,'|') LIKE '10'" -i:EVT



[출력결과]

TimeGenerated,IP_ADDRESS
2011-05-24 08:52:04,192.168.1.1
2011-05-24 09:24:59,192.168.1.1
2011-05-24 09:25:24,192.168.1.1

Statistics:
-----------
Elements processed: 193
Elements output:    3
Execution time:     0.02 seconds



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

Posted by Lai Go