일단, 제가 몸담고 있는 회사에서 얻은 지식과 경험을 되도록 회사에 누를 끼치지 않는 범위 내에서 여러분과 공유 해 볼까 합니다.
강좌를 작성하는데에 있어서 목표로 첫 번째로는 초보자가 쉽게 접근할 수 있도록 설명하는 것과 두 번째로는 한 번 보고 끝내는 것이 아니라 추후에도 이용할 수 있는 자료를 만들도록 하는 데 있습니다.
처음에는 기본적인 이론만을 되도록(^^) 재미있고 쉽게 설명드리겠으며 중반부에 가서는 wireshark (구 ethereal이죠)를 이용한 패킷을 캡쳐하는 방법 등, 그리고 그것을 분석하는 방법에 대해서 설명드리구요. 마지막으로는 실제 장비와 통신할 수 있는 간단한 테스트 샘플을 제작하고 (아마도 걍 TCP로 할 확률이 높습니다만) 실제로 전송되는 패킷들을 잡아서 데이터를 분석 한 후에 그 데이터를 다시 데이터베이스에 적재하는 샘플 프로그램을 제작 할 예정입니다. 헉헉...
먼저, 당부의 말씀을 드릴 것은 제가 회사에서만 작업을 하게 되기 때문에, 한 번에 그다지 많은 양을 올릴 수 없음을 양해의 말씀 드립니다. 언제 끝낼 지 장담을 못드리겠다는.. 그리고 강좌의 글을 쓴 적이 너무나도 오래되어서 글을 알아보기 힘들 수도 있다는 점을 미리 알려드립니다. 또한 바램이 있다면 이 자료는 네트워크 패킷에 대한 분석작업을 동반하기 때문에, 실제로 안좋은 일에 사용 될 확률도 높다는 것을알고 있습니다만, 절대 그런일이 없길 바라는 마음입니다.
마지막으로, 이 작업은 쉽게 쓰려고 해도 이해하기가 난해한 일이 될 수 있습니다. 이 강좌를 같이 하시기 위해서는 주변에서 무한한 인내심의 소유자 라는 소리를 듣거나 프로그래머이긴 하지만 종종 하늘을 쳐다보며 남들이 알아듣지 못하는 말을 중얼거리는 사람 등의 특이한 성격을 가진 소유자라면 언제든 환영한다는 점을 밝혀드리고 싶네요.
대충 목록을 만들어 보았습니다.
목록은 추후에 언제든 제 맘대로 바꿀 예정입니다. 그런 일이 생겨도 노여워 하지 마시기를 부탁드립니다.
1. 기본 이론
1.1 프로토콜이란?
1.2 파싱이란?
1.3 네트워크 패킷?
1.4 헥사 코드보기
2. wireshark 기본적인 툴 사용법
2.1 이 툴은 무엇?
2.2 어떻게 캡쳐 하나요?
2.3 캡쳐한 데이터는 어떻게 사용하나요?
2.4 보다 전문적인 사용법을 위해서는?
2.5 원하는 프로그램에 사용하기 위한 코드는? - 코딩
3. TCP/IP SAMPLE Application 제작
3.1 원하는 작업 리스트 정하기
3.2 프로토콜 만들기
3.3 실제 Application 제작 - 코딩
3.4 프로그램 테스트
3.5 프로토콜 파싱하기 - 코딩
3.6 Auditing 데이터로 활용하기 위해서는?
3.7 데이터베이스에 적재하기 SAMPLE Application 제작 - 코딩
대충 이정도가 되겠네요.
옆에 '코딩' 이라고 써놓은 곳에서는 실제 프로그램을 만들게 됩니다.
개발환경은 Visual C++ 6.0을 사용합니다. 혹 원하시는 분이 계시다면 2008로 만들어볼 수도 있겠습니다만, 너무 기대하지 마세요.
제가 워낙에 구세대라서.. 훗.
사실 wireshark 를 이용하기도 하지만, 실제 회사에서 사용하는 프로그램은 여기서 활동하고 계신 crowback__ 님께서 만들어 놓으신 것으로 사용합니다. 바로 제 옆자리에 있기 때문에 갖은 협박과 회유를 통해 얻어보긴 하겠습니다만, 본인의 의사도 중요하니까요.
강좌도 아니면서 벌써부터 글만 올려놓은 것은 제가 제 스스로에 대한 다짐을 하기 위해서라고도 할 수 있겠네요. 중간에 흐지부지 끝날확률이 높기 때문에, 반응을 해 주시는 분이 계시다면 그만큼 힘이 나지 않을까요?
댓글 없음:
댓글 쓰기