2/10/2009

프로세스의 네트워크 사용 포트 리스팅 소스 코드

Foundstone의 fport의 기반이 된, fport의 usage에도 나오는 사람이 만든 소스코드이다. TDI레벨에 접근해서 오픈된 TCP/UDP 포트를 얻어 올 수 있다. 문제는 fport의 디스어셈블리를 보면 거의 이 소스코드와 똑같다. 함수 위치라든지 모든 것이 똑같다. 결국 거의 소스 가져다가 banner만 바꿔 단 것이 아닌가 하는 의심이 들 정도다.
 
 
어쨌든 기술적으로 꽤 흥미로운 소스 코드이다. 일단 시스템에 존재하는 핸들들을 리스팅하는 것 부터 핸들을 duplicate해 오고 그 핸들에 DeviceIoControl을 해서 데이타를 뽑아내는 그야 말로 꿈과 모험이 넘치는 코드이다. 아마도 procexp등에서 TCP,UDP 커넥션 보여 주는 부분도 모두 이 코드를 사용했을 것이라는 생각이 든다.
 
아 그리고, 이 소스 만든 사람이 "Windows NT/2000 API Reference"를 쓴 사람이다.

Posted via email from bugtruck's posterous

댓글 없음:

댓글 쓰기