Saya harap seseorang masih tertarik dengan solusi untuk masalah ini. ;) Kami memiliki masalah yang sama di perusahaan kami dan saya mulai menulis naskah untuk ini.
Saya menulis posting blog tentang hal itu dengan kode sumber dan tangkapan layar .
Saya juga membagikannya di bawah ...
Dan kodenya: (Pastikan untuk memeriksa situs saya untuk pembaruan selanjutnya)
#!/bin/bash
#===================================================================================
#
# FILE: dump.sh
# USAGE: dump.sh [-i interface] [tcpdump-parameters]
# DESCRIPTION: tcpdump on any interface and add the prefix [Interace:xy] in front of the dump data.
# OPTIONS: same as tcpdump
# REQUIREMENTS: tcpdump, sed, ifconfig, kill, awk, grep, posix regex matching
# BUGS: ---
# FIXED: - In 1.0 The parameter -w would not work without -i parameter as multiple tcpdumps are started.
# - In 1.1 VLAN's would not be shown if a single interface was dumped.
# NOTES: ---
# - 1.2 git initial
# AUTHOR: Sebastian Haas
# COMPANY: pharma mall
# VERSION: 1.2
# CREATED: 16.09.2014
# REVISION: 22.09.2014
#
#===================================================================================
# When this exits, exit all background processes:
trap 'kill $(jobs -p) &> /dev/null && sleep 0.2 && echo ' EXIT
# Create one tcpdump output per interface and add an identifier to the beginning of each line:
if [[ $@ =~ -i[[:space:]]?[^[:space:]]+ ]]; then
tcpdump -l $@ | sed 's/^/[Interface:'"${BASH_REMATCH[0]:2}"'] /' &
else
for interface in $(ifconfig | grep '^[a-z0-9]' | awk '{print $1}')
do
tcpdump -l -i $interface -nn $@ | sed 's/^/[Interface:'"$interface"'] /' &
done
fi
# wait .. until CTRL+C
wait
-e
hanya mencetak satu alamat MAC pada setiap baris. Untuk paket yang masuk itu adalah sumber MAC yang tidak sangat berguna dalam mengidentifikasi antarmuka mana yang tiba.Saya juga tidak tahu jawaban untuk itu. Saya tidak menemukan opsi untuk itu, tidak dapat mengingat pernah melihatnya, dan saya cukup yakin bahwa format tcpdump tidak menyertakan pengenal antarmuka. Saya pikir Anda harus memulai satu contoh tcpdump untuk setiap antarmuka dan masuk ke file masing-masing.
sumber
Jika Anda menjalankan di Mac, ada
-k
opsi untuktcpdump
jika Anda menggunakan antarmuka pktap, yang menampilkan nama antarmuka di antara metadata lain yang bermanfaat.sumber
Untuk menambah skrip bash hebat Sebastian Haas. Saya harus menyederhanakan skripnya karena gagal pada baris ini
tcpdump -l $@ | sed 's/^/[Interface:'"${BASH_REMATCH[0]:2}"'] /' &
.Meskipun tidak sefleksibel script aslinya, ini lebih cenderung berjalan dalam sistem linux yang dipreteli.
Anda juga mungkin tertarik dengan tiket masalah github saat ini mengenai penghapusan fitur ini di https://github.com/the-tcpdump-group/tcpdump/issues/296 .
sumber
Dengan asumsi ini ada di Linux, Anda bisa menambahkan aturan iptables agar sesuai dengan paket yang Anda cari dan mencatatnya. Log Iptables termasuk antarmuka masuk dan keluar, antara lain.
sumber
Sesuaikan -c sesuai kebutuhan.
sumber
dengan memodifikasi garis deteksi antarmuka, Anda dapat menghilangkan antarmuka alias-address di linux. contoh di bawah ini ..
berubah menjadi
sumber