Ini adalah pekerjaan rumah Pemrograman Lanjutan untuk Internet di Institut Teknologi Harbin.
Repositori berisi dua proyek:
Layanan multipleks TCP dan UDP untuk layanan transfer file menggunakan pilihan.
Server dapat menerima koneksi TCP dan UDP.
Pengendus paket yang mencegat lalu lintas jaringan yang mengalir masuk dan keluar dari sistem melalui antarmuka jaringan.
Sniffer menggunakan soket mentah ketika dimasukkan ke dalam loop recvfrom untuk menerima semua paket masuk Pelajari Lebih Lanjut.
Catatan: Anda perlu mengkompilasi proyek ini di Linux atau Unix (termasuk Mac OS X).
Anda cukup mengkompilasi proyek ini menggunakan perintah make
.
Setelah operasi kompilasi berhasil, Anda dapat menjalankan server:
./server <PortNumber>
Kemudian Anda dapat memulai klien UDP atau klien TCP:
# for TCP client
./tcp-client <ServerIP> <PortNumber>
# for UCP client
./udp-client <ServerIP> <PortNumber>
Di klien TCP, Anda bisa mendapatkan file dari server:
GET <Path to the file in server>
Masalah yang diketahui:
Catatan: Di sistem Linux/Unix, Anda memerlukan izin root untuk menerima paket mentah pada antarmuka. Pembatasan ini merupakan tindakan pencegahan keamanan, karena proses yang menerima paket mentah memperoleh akses ke komunikasi semua proses lain dan pengguna yang menggunakan antarmuka tersebut.
sudo ./packet-sniffer
Semua paket yang masuk akan dibuang ke file packet-sniffer.log
.
Proyek ini bersumber terbuka di bawah lisensi Apache.