usi++(UNIX 소켓 인터페이스)는 RAW 또는 PACKET 소켓에서 IP, IP6, ARP 등의 패킷을 직접 보내고 받기 위한 하위 수준 네트워크 라이브러리입니다. 또한 네트워크 모니터링 및 침투 테스트 도구의 신속한 개발에도 사용할 수 있습니다. Layer2 DNET 공급자를 원할 경우 libpcap
및 libdnet
필요합니다.
usi++는 GPL을 따릅니다. 자세한 내용은 파일 COPYING을 참조하세요.
이더넷-MAC용 데이터 파일이 포함되어 있습니다. arpwatch에서 가져왔습니다.
USI++는 GPL이므로 보증이 전혀 없습니다. 귀하는 자신의 책임 하에 이를 사용합니다.
$ cd src
$ autoconf
$ ./configure
$ make
# make install
테스트를 위해 libpcap
여러 개 설치한 경우 생성된 Makefile
단지 제안일 뿐입니다. 구성 스크립트는 실제로 사용자가 선호하는 include 또는 lib 경로를 알 수 없습니다. 이러한 경우 생성된 Makefile
편집하여 이를 정확하게 가리키고 config.h
에서 필요한 정의를 설정/설정 해제해야 합니다.
pcap_set_immediate_mode()
또는 mmapped 패킷 소켓과 같은 다양한 기능이 최근에 등장했기 때문에 libpcap을 두 개 이상 설치하는 것은 드문 일이 아닙니다.
일반적으로 다음과 같습니다.
# c++ -std=c++11 foo.cc -lusi++ -lpcap -L/usr/local/lib -I/usr/local/include
dnet 지원을 사용하여 usi++를 컴파일한 경우(RAW 소켓뿐만 아니라) 데이터 링크 계층에서도 패킷을 보낼 수 있으므로 -ldnet
에 대해서도 링크해야 합니다. 최신 libpcap에는 이미 pcap_inject()
포함되어 있을 수 있으므로 libdnet 없이 usi++를 빌드할 수도 있습니다. 이 함수는 데이터링크 프레임을 보내는 이식 가능한 방법도 제공하기 때문입니다.
libusi++
의 HTML 문서(doxygen을 통해 생성됨)나 샘플을 살펴보십시오.
리눅스, BSD, OSX.
없음.
링크 수준 처리가 변경되었습니다. 이제 모든 클래스는 데이터 수신 및 전송에 사용되는 RX 및 TX 객체를 포함하는 Layer2 {}에서 파생됩니다. 클래스 선언은 해당 .h 파일에서 찾을 수 있습니다. 이러한 클래스는 추상적이므로 작동하려면 직접 파생해야 합니다. 구현해야 하는 기능이 무엇인지 .h 파일을 살펴보세요. USI++에는 패킷을 캡처/전송할 수 있는 Pcap
, TX_IP
, TX_eth_dnet
등의 클래스가 함께 제공됩니다. USI++ 1.67 이하에서 정상적으로 작동하는 프로그램을 사용할 수 있도록 기본 기능을 제공합니다. RX
및 TX
추상화함으로써 Layer2
sendpack()
과 같은 루틴에 액세스할 수 있도록 합니다. 다양한 하드웨어(FDDI,...)에 대해 자신만의 RX/TX 기반 클래스를 자유롭게 작성할 수 있습니다. 런타임에 RX/TX 동작을 변경할 수 있으므로 최대한 유연하게 사용할 수 있습니다. 예를 들어 PPP로 작업 중임을 감지한 다음 PPP 송신기를 로드할 수 있습니다. 재미있게 보내세요.