리눅스 기반 패킷캡쳐 프로그램
PacketCaptureProgram using C Standard Library on Linux
위 그림과 같은 raw 데이터 중 각 패킷 별로 핵심이 되는 정보를 저장함
추출한 핵심 정보를 생성한 자료구조에 저장
-
sudo ./packetcapture
-
캡쳐시작 (y/n) : y
-
웹페이지 방문 (http://www.kpu.ac.kr/index.do?sso=ok)
-
별도의 다른 터미널에서 다음 명령어 수행
- ping google.com
- nslookup kpu.ac.kr
-
ctrl + c 입력 - 패킷 수집 종료
-
패킷 검색
Y : 패킷 캡쳐 시작 N : 프로그램 종료
ctrl + c 입력 전까지 모든 패킷을 수집
- origin.txt
- summary.txt
캡쳐한 패킷을 터미널에서 출력함과 동시에 파일에 저장한다. orign.txt : 인덱스번호, 패킷의 크기, 원시코드 summary.txt : 패킷 요약 저장
시그널핸들러를 이용해 ctrl+c 입력시 검색으로 넘어가도록 구현
- 인덱스 검색
- 프로토콜, IP번호, PORT 번호 검색
-1을 입력하지 않은 정보를 바탕으로 검색
- HTTP 특수 검색
- 3단계 핸드쉐이크
- 요청메시지, 응답메시지
- 4단계 핸드쉐이크
- ICMP 특수 검색
- DNS 특수 검색