2010-01-31 3 views
11

libpcap *을 사용하여 C에서 IP 패킷 리 어셈블리 용 샘플 코드를 찾고 있습니다. IP 패킷 조각 모음은 libpcap 라이브러리에서 공식적으로 구현됩니까? 이 제안을 발견했습니다 : http://www.mail-archive.com/[email protected]/msg02991.html[this][1].libpcap IP 패킷 리 어셈블리

IP 패킷의 조각 모음 구현이 있습니까?

[1] : http://www.mail-archive.com/[email protected]/msg02991.html [+]

* 샘플 코드를 찾는 이유는 단지 재미와 학습을위한 것이며 내가 IP 패킷 재 조립을 위해 코드를 작성하기 위해 너무 많은 시간을 보내고 싶지 않아.

+0

을 사용할 수 있습니다. 똑같은 것을 찾고 있습니다. OP, @systemsfault, 당신이 공유 할 수있는 모든 진도 ?;) –

+0

@ mhambra, libpcap을 사용하는 libnids의 코드를보십시오. 실제로 프로젝트를 끝내고 다시 보지 않으므로 tsg의 제안 이외에 다른 제안은 없습니다. – systemsfault

답변

9

아니요, 저는이 패치가 libpcap을 만들지 못했을 것이라고 확신합니다. 그러나 libnids으로 ip 조각 모음을 수행 할 수 있습니다 (또한 TCP 스트림을 따르십시오).

+0

tsg, libnids는 원시 유닉스 소켓을 사용하지만 libpcap을 사용하여 구현해야합니다. 왜냐하면 나는 libpcap을 배우고 그것으로 실험적인 응용 프로그램을 만들려고 노력하고 있기 때문입니다. lwip은 또한 패킷 리 어셈블리/조각 모음 기능을 가지고 있습니다. – systemsfault

+0

libnids 코드를 간략하게 살펴본 후 libpcap을 사용하는 것으로 보입니다. 예를 들어 nids_pcap_handler()를 참조하십시오. 간단한 모양 후에 – tsg

+1

, 나는 그렇습니다 그것을 pcap를 사용한다 말할 수있다; 재 조립을 위해서는 원시 소켓을 사용하지 않는 것으로 보입니다. ip_fragment.c의 소스 코드를보십시오. – systemsfault

0

Libpcap은 원시 링크 계층 패킷을 캡처하는 라이브러리입니다. IP fragment reassembly 등을 포함하여 패킷을 자체적으로 처리하는 프로그램과 라이브러리에서 사용하기위한 것입니다. 따라서 IP 재 조립을하지 않으며 앞으로도하지 않을 것입니다. 별도의 도서관에 소속되어 있습니다.

1

IP 리 어셈블리를 수행하는 도구를 찾으려면 IPDefragUtil을 체크 아웃 할 수 있습니다. 또한 IP 재 조립 소스 코드 herehere