packet분석이라함은 다음과 같은 절차를 가지게 됩니다.
1. 네트워크 상의 packet을 capture한다.
2. packet은 일정한 포맷(format)을 가지고 있는데, 이 내용을 읽을 수
있어야 한다.
3. 또한, packet은 단일 packet으로 의미를 가지기도 하지만, 연속적인
packet들이 모여서 의미를 이루기도 하기 때문에 연속적인 패킷의 흐름을
이해할 수 있어야 한다.
4. packet은 단방향인 경우보다는 양방향(송신단, 수신단)으로 유통이 이뤄지므로 이에 대한 이해를 필요로 한다.
5. packet에 대한 분석을 자동화하고 이에 대한 대처를 자동화할 수 있다면
좋다. 매우 좋다. 이러한 룰(규칙;rule)을 프로그램 수정없이 스크립트 수준에서
할 수 있다면 더 좋다. ......
1번의 경우 패킷을 잡아내는(capture)도구가 필요하게 됩니다. 이는 직접
프로그램 작성하기도 하지만 단순 연습 또는 테스트의 경우 널리 사용되는
도구들을 사용할 수 있습니다.
이를 스니핑이라고 하며, 다양한 도구들과 라이브러리가 존재합니다.
2~4번은 프로토콜에 대한 이해가 필요한 항목입니다. 프로토콜은 정의가 방대
하지만, 님의 경우에는 특정한 포맷으로 양단간에 주고받는 패킷들의 모임으로
볼 수 있습니다. 아주 다양한 프로토콜이 존재하지만, TCP, UDP, IP, ICMP,
ARP등을 기본으로 시작하시면 되겠습니다. 이러한 프로토콜의 포맷 및
플로우(flow)를 이해해야 합니다. 헤더 바이트가 몇바이트고, 헤더내의 각 필드가
의미하는 바는 무엇이며, 이 패킷이 수신되면 어떤 패킷이 송신되는가? 등등이
필요합니다.
이후, 응용프로토콜에 대한 분석이 필요한 경우도 있습니다. http프로토콜의
유통량등 그 확장은 아주 방대합니다.
님이 어느정도 1-4를 파악했다면, 5를 고려해야 함은 당연합니다.
* 참고
- 인터넷에서 쉽게 구할 수 있는 packet capture 도구들이 있습니다. 이 패킷
(분석에 가용한) 도구들은 어느정도(?)의 분석을 이미 제공하고 있습니다.
- firewall같은 경우에는 아주 단순한 분석만을 수행하며 이를 분석후 전달(forward또는 reject)해 주는 메커니즘으로 구현이 됩니다. 물론, 기능이야
확장하기에 달렸겠지요.
- IDS같은 경우에는 보다 다양한 유형에 대해 분석을 제공해야 합니다.
- 인터넷 바이러스, DOS공격 등에 대한 분석을 제공하는 도구도 고려할 수
있습니다.
* 보다 진보적으로는, 이러한 분석도구들은 아주 가볍고 빠르게 동작해야함은
물론입니다. 만일 이를 스위치장비 제작등에 사용한다면, 최근 인터넷의 추세에
맞도록 Giga bit에 대한 처리가 실시간으로 이뤄질 정도가 되어야 합니다.
*끝으로, 초보 아니었던 사람있으면 나와보라고 해보세요. 아마 한명도 없을걸요?! 자신감을 가지고 시도해보세요.
packet분석이라함은 다음과 같은 절차를 가지게 됩니다.1. 네트워
packet분석이라함은 다음과 같은 절차를 가지게 됩니다.
1. 네트워크 상의 packet을 capture한다.
2. packet은 일정한 포맷(format)을 가지고 있는데, 이 내용을 읽을 수
있어야 한다.
3. 또한, packet은 단일 packet으로 의미를 가지기도 하지만, 연속적인
packet들이 모여서 의미를 이루기도 하기 때문에 연속적인 패킷의 흐름을
이해할 수 있어야 한다.
4. packet은 단방향인 경우보다는 양방향(송신단, 수신단)으로 유통이 이뤄지므로 이에 대한 이해를 필요로 한다.
5. packet에 대한 분석을 자동화하고 이에 대한 대처를 자동화할 수 있다면
좋다. 매우 좋다. 이러한 룰(규칙;rule)을 프로그램 수정없이 스크립트 수준에서
할 수 있다면 더 좋다. ......
1번의 경우 패킷을 잡아내는(capture)도구가 필요하게 됩니다. 이는 직접
프로그램 작성하기도 하지만 단순 연습 또는 테스트의 경우 널리 사용되는
도구들을 사용할 수 있습니다.
이를 스니핑이라고 하며, 다양한 도구들과 라이브러리가 존재합니다.
2~4번은 프로토콜에 대한 이해가 필요한 항목입니다. 프로토콜은 정의가 방대
하지만, 님의 경우에는 특정한 포맷으로 양단간에 주고받는 패킷들의 모임으로
볼 수 있습니다. 아주 다양한 프로토콜이 존재하지만, TCP, UDP, IP, ICMP,
ARP등을 기본으로 시작하시면 되겠습니다. 이러한 프로토콜의 포맷 및
플로우(flow)를 이해해야 합니다. 헤더 바이트가 몇바이트고, 헤더내의 각 필드가
의미하는 바는 무엇이며, 이 패킷이 수신되면 어떤 패킷이 송신되는가? 등등이
필요합니다.
이후, 응용프로토콜에 대한 분석이 필요한 경우도 있습니다. http프로토콜의
유통량등 그 확장은 아주 방대합니다.
님이 어느정도 1-4를 파악했다면, 5를 고려해야 함은 당연합니다.
* 참고
- 인터넷에서 쉽게 구할 수 있는 packet capture 도구들이 있습니다. 이 패킷
(분석에 가용한) 도구들은 어느정도(?)의 분석을 이미 제공하고 있습니다.
- firewall같은 경우에는 아주 단순한 분석만을 수행하며 이를 분석후 전달(forward또는 reject)해 주는 메커니즘으로 구현이 됩니다. 물론, 기능이야
확장하기에 달렸겠지요.
- IDS같은 경우에는 보다 다양한 유형에 대해 분석을 제공해야 합니다.
- 인터넷 바이러스, DOS공격 등에 대한 분석을 제공하는 도구도 고려할 수
있습니다.
* 보다 진보적으로는, 이러한 분석도구들은 아주 가볍고 빠르게 동작해야함은
물론입니다. 만일 이를 스위치장비 제작등에 사용한다면, 최근 인터넷의 추세에
맞도록 Giga bit에 대한 처리가 실시간으로 이뤄질 정도가 되어야 합니다.
*끝으로, 초보 아니었던 사람있으면 나와보라고 해보세요. 아마 한명도 없을걸요?! 자신감을 가지고 시도해보세요.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
댓글 달기