네트워크 내의 ARP 패킷 위조 전송 프로그램
본 자료는 미리보기를 지원하지 않습니다.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

1. 서론 3

2. Implementation 3

3. Results and Analysis 5

4. Experience 7

5. Conclusions 8

6. References 8

7. Appendixes 9

본문내용

4. Experience
이번 프로젝트를 하면서 로우 소켓프로그래밍을 처음 접했습니다. 사실 저는 일반 소켓프로그래밍도 해본적이 없어서 기본적인 소켓생성에서부터 많은 어려움이 있었습니다. 어떤 목표를 위해서 어떤 옵션을 주어 소켓을 생성해야하는지 알기위해 많은 시간을 보냈습니다. 일단 패킷을 직접 만들어서 쏘아보는 프로그램을 만들어서 내가 만든 패킷이 다른 호스트에서 어떻게 받아들여지는지부터 테스트하였습니다. 처음에 리눅스에서 쏘아서 윈도우에서 캡쳐를 해보았는대 ARP 패킷이 아니어서 적지않게 당황했었습니다. 제가 만든 패킷앞에 자동으로 이더넷 헤더와 아이피헤더가 붙은채로 전달되어 마치 제가만든 패킷이 데이터의 일부분인양 그렇게 전송이 되고있었습니다. 나중에 그것이 소켓을 생성할 때 AF_PACKET 옵션을 준 떄문이라는 것을 알았습니다. 제가 만든 패킷 그대로 전송을 하려면 PF_PACKET이란 옵션을 주어야했습니다. 그렇게 패킷 보내기는 성공을 하고 그 다음 문제는 네트워크 디바이스가 패킷을 필터링하기 전에 도착한 패킷을 확인할 수 있어야 했습니다. broadcast 된 ARP 요청 패킷은 모든 호스트에게 전달은 되지만 네트워크 디바이스에서 자기것이 아니면 상위레벨로 올려보내지않는다는 것을 알았지만 그럼 그것을 어떻게 모든 패킷을 올려보내도록 할 것인가를 알아내는데 또 많은 시간을 투자하였습니다. Promiscuous 모드라는 것을 알게되고, ioctl함수를 통해서 네트워크 디바이스를 promisc 모드로 설정할 수 있다는 것과, 디바이스의 설정은 ifconfig 명령어를 통해서 확인 할 수 있다는 것도 알게 되었습니다. 이것이 해결되니 그렇게 얻어진 패킷을 파싱하여 ARP 요청인지 확인하고 해당하는 경우에 얻어진 패킷에서 주소를 파싱하여 새패킷에 쓰는 것은 이전 과제 IP stripping 을 통해 이미 익숙하여서 비교적 쉽게 할 수 있었습니다. 그렇게 프로젝트를 완성 마무리 단계에서 테스트를 하는데 테스트환경이 아파트라 그런지 미리 패킷캡쳐 프로그램으로 도달하는 ARP 요청을 확인해보니 굉장히 많은 ARP가 도착하는 것을 볼 수 있었습니다. 좋은 테스트환경이라고 생각하고 프로그램을 테스트해보았는대 여기서 생각치못한 문제가 발생하였습니다. 저희 집에 컴퓨터가 모두 인터넷 접속이 모두 끊겨버린것입니다. 공유기 reset과 네트워크 reset으로 해결을 했지만, 같은 네트워크상의 다른 가구에서도 같은 일이 발생했을 거라 생각이 됩니다.

키워드

ARP,   패킷,   응답,   네트워크,   리눅스,   위조
  • 가격2,500
  • 페이지수9페이지
  • 등록일2008.12.27
  • 저작시기2007.12
  • 파일형식압축파일(zip)
  • 자료번호#509786
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니