Saya ingin mengumpulkan log dari semua komunikasi jaringan antara perangkat rumah saya (laptop, ponsel, dll.) dan dunia luar dalam format ini:
Timestamp / Device MAC Address / Source IP:Port / Destination IP:Port / Protocol (Internet/Transport Layers) / Amount of data in bytes
Idenya adalah untuk menyiapkan kotak Linux fisik ("Server Logging") hanya untuk logging dan menjalankan tcpdump
di atasnya:
Internet ⟺ Logging Server ⟺ Wi-Fi/Ethernet Switch ⟺ Devices
(kotak ini akan memiliki dua antarmuka Ethernet — untuk koneksi Internet dan untuk sakelar lokal).
Dengan asumsi bahwa saya menangani penanganan file log (rotasi, penguraian, pengumpanan ke alat pelaporan), bagaimana tcpdump
perintah akan terlihat seperti?
Untuk lebih jelasnya, saya tahu bahwa pertanyaan ini kemungkinan besar dapat dijawab dengan menggali halaman manual; Saya hanya ingin memanfaatkan pengalaman luas seseorang dengan tcpdump
untuk menghemat waktu, menghindari kesalahan umum, dll.
P. S. Tujuan utamanya adalah untuk memantau/menyelidiki kemungkinan pintu belakang yang ada atau aktivitas jaringan yang tidak diinginkan/tidak terduga.
Jawaban yang Diterima:
tcpdump -n -e -q -i any
Dengan:
-n
:Jangan mengubah alamat menjadi nama (ini terutama mencegahtcpdump
dari melakukan pencarian DNS terbalik)-e
:Mencetak header tingkat tautan pada setiap baris dump (terutama alamat mac). Gunakan ini dalam koordinasi dengan-i any
, Anda akan memerlukan ini untuk menentukan kembali antarmuka jaringan masuk/keluar.-q
:Cetak lebih sedikit informasi protokol sehingga jalur keluaran lebih pendek-i any
:any
kata kunci dapat digunakan untuk menangkap paket dari semua antarmuka
Perhatikan bahwa panjang yang diberikan oleh perintah di atas adalah panjang muatan. Jika Anda juga menginginkan panjang paket, hapus opsi ‘-q’.