IP/ICMP/UDP/TCP 패킷과 같은 네트워크 수준의 패킷을 사용해야하는 프로젝트를 시작했습니다.winpcap/libpcap 대 원시 소켓
원시 소켓과 Winpcap/libpcap의 두 가지 주요 접근 방식이 있습니다.
나는 pcap이 OS에 드라이버를 설치하고 프로그래머가 패킷을 포착하여 보낼 수 있음을 알고있다. 반면에 Windows 7 이상의 제한 사항이있는 원시 소켓이 있습니다.
프로젝트는 라우터에 IP/ICMP/UDP/TCP 패킷을 보내고 응답을 분석해야합니다 (예 : IP-Identifier
, TTL
...). 또한 나는 그것이 리눅스와 윈도우에서 작동하기를 원한다.
이 두 가지 방법에 대한 비교 목록을 나열 할 수 있습니까?
응답이 충분하지 않지만 원시 소켓은 [XP SP2 이후의 서버가 아닌 서버 버전에서는 사용할 수 없습니다.] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms740548%28v) = vs.85 % 29.aspx # limitation_on_raw_sockets) (특정 조건 하에서) Windows 7만이 아닙니다. –
실제로 pcap 드라이버가 데이터를 보낼 수 있는지 여부는 알 수 없지만 캡처 할 수 있다고 생각했습니다. Tx 패킷을 사용하려면 Windows 용 서버 OS를 사용해야합니다. 이것은 악성 코드가 오랫동안 남용하여 서버를 사용하지 못하게했기 때문입니다 (최종 사용자가 원시 패킷을 위조 할 필요가 없음). –