Free my mind

qt에서의 libpcap 프로그래밍(3) 본문

pcap programing

qt에서의 libpcap 프로그래밍(3)

김뿡빵 2018.05.30 02:12







이번 시간에는 패킷에 대한 핸들값을 이용하는 방법이다.


pcap라이브러리에는 핸들값을 이용한 여러 패킷 처리방법이 있다.


핸들값을 준다는것은, 제어한다는 뜻이다.



이미 캡쳐된 파일의 핸들값을 얻어오는 함수는 pcap_open_offline(경로 및 파일명 , 오류값)이다.


아래와 같이 사용하면 된다.





아직 핸들값으로 어떠한 제어도 하지 않았기때문에 실행해도 아무것도 나오지 않는다.




다음은 저번시간에 했던 내 장치에 대해 핸들값을 주는것이다.




pcap_next_ex 라는 함수로 핸들값을 이용한 것이다.


res 변수는 함수의 오류확인을 표기하는 참거짓을 위해 0또는 1이라는 값이 반환되기 때문에 int로 한다.

(간혹 프로그램간의 간섭때문에 -1도 반환된다고 한다.)


header는 패킷의 길이정보가 들어가는 변수이고,


Data는 패킷의 바이트값이 저장된다.



pcap_next_ex 함수를 while문으로 이용하면 패킷이 정상적으로 들어올 동안은 참의 반환값인 1이 되기때문에  무한동작한다.


패킷이 한번 들어오면 반복문이 1회 돌아가게 된다.



실행결과 구글을 한번 접속할동안 여러 패킷이 오가기 때문에 많은 횟수의 while문이 실행된것을 확인 할 수 있다.


다음시간에는 패킷 덤프와 구조체를 사용하겠다



0 Comments
댓글쓰기 폼