usi++ (UNIX Socket Interface) adalah perpustakaan jaringan tingkat rendah untuk mengirim/menerima paket IP, IP6, ARP dll. langsung pada soket RAW atau PACKET. Ini juga dapat digunakan untuk pemantauan jaringan dan pengembangan alat pentesting yang cepat. Ini memerlukan libpcap
dan libdnet
jika Anda menginginkan penyedia DNET Layer2.
usi++ berada di bawah GPL. Lihat SALINAN file untuk lebih jelasnya.
File data untuk ethernet-MAC disertakan. Itu diambil dari arpwatch.
Karena USI++ adalah GPL, TIDAK ADA GARANSI. ANDA MENGGUNAKANNYA DENGAN RISIKO ANDA SENDIRI.
$ cd src
$ autoconf
$ ./configure
$ make
# make install
Harap dicatat, jika Anda memiliki beberapa instalasi libpcap
untuk pengujian, Makefile
yang dihasilkan hanyalah sebuah proposal. Skrip konfigurasi sebenarnya tidak dapat mengetahui jalur include atau lib mana yang Anda inginkan. Dalam kasus seperti itu, Anda harus mengedit Makefile
yang dihasilkan agar mengarah ke sana dengan tepat, serta mengatur/membatalkan pengaturan yang Anda perlukan di config.h
.
Memiliki lebih dari satu instalasi libpcap bukanlah hal yang aneh, karena berbagai fungsi seperti pcap_set_immediate_mode()
atau soket paket mmapped baru saja muncul.
Biasanya seperti ini:
# c++ -std=c++11 foo.cc -lusi++ -lpcap -L/usr/local/lib -I/usr/local/include
Jika Anda mengkompilasi usi++ dengan dukungan dnet , yang memungkinkan Anda juga mengirim paket pada lapisan datalink (bukan hanya soket RAW), Anda juga perlu menautkannya ke -ldnet
. Libpcap yang lebih baru mungkin sudah berisi pcap_inject()
sehingga Anda juga dapat membuat usi++ tanpa libdnet , karena fungsi ini juga menyediakan cara portabel untuk mengirim bingkai datalink.
Silakan lihat dokumentasi HTML (dihasilkan melalui doxygen) dari libusi++
atau sampelnya.
Linux, BSD, OSX.
Tidak ada.
Penanganan linklevel telah berubah. Sekarang semua kelas diturunkan dari Layer2 {} yang berisi objek RX dan TX yang digunakan untuk menerima dan mengirimkan data. Deklarasi kelas dapat ditemukan di file .h yang sesuai. Kelas-kelas ini bersifat abstrak, ini berarti Anda harus memperoleh kelas Anda sendiri agar dapat berfungsi. Lihatlah file .h fungsi mana yang harus Anda terapkan. USI++ dikirimkan dengan kelas Pcap
, TX_IP
, TX_eth_dnet
dll yang memungkinkan Anda menangkap/mengirim paket. Mereka memberi Anda fungsionalitas dasar sehingga Anda dapat menggunakan program yang bekerja dengan USI++ 1.67 atau lebih rendah seperti biasa. Dengan membuat RX
dan TX
abstrak kami memastikan bahwa Layer2
dapat mengakses rutinitas seperti sendpack()
. Anda bebas menulis kelas berbasis RX/TX Anda sendiri untuk perangkat keras yang berbeda (FDDI,...). Anda dapat mengubah perilaku RX/TX saat runtime, sehingga sefleksibel mungkin. Misalnya Anda dapat mendeteksi bahwa Anda bekerja dengan PPP dan kemudian Anda memuat pemancar PPP. Selamat bersenang-senang.