Dalam proses men-debug bot python irc yang tampaknya tidak dapat terhubung, saya pikir, "Saya tahu, saya akan tcpdump saja dan lihat apa yang dilakukannya." Jadi saya menjalankan tcpdump seperti yang biasa saya lakukan dan dikatakan itu menangkap paket, tetapi sebenarnya tidak menulis file cap.
akraut@lance ~/pcaps $ sudo tcpdump -w pyhole -s 0 "port 6667"
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
^C17 packets captured
17 packets received by filter
0 packets dropped by kernel
4294966881 packets dropped by interface
akraut@lance ~/pcaps $ ls -la
total 8
drwxr-xr-x 2 akraut akraut 4096 Feb 6 11:50 .
drwxr-xr-x 8 akraut akraut 4096 Feb 6 11:50 ..
akraut@lance ~/pcaps $
networking
filesystems
tcpdump
akraut
sumber
sumber
eth0
? Jika menggunakan loopback atau antarmuka lain, tidak akan ada lalu lintas untuk dibuang ke file.17 packets received by filter
bukankah itu berarti menangkap beberapa traffic?Jawaban:
Anda mungkin ingin memeriksa perilaku tcpdump dengan strace, untuk melihat apakah ia melakukan sesuatu yang aneh seperti chroot, apakah itu dalam gentoo atau distribusi lain yang mungkin membuat biner biner.
sumber
/var/lib/tcpdump
. Dan lihatlah, di situlah letak semua file topi saya.Ok, saya sudah memecahkan misterinya. Ikuti bersama saya saat kami mengungkap TCPDump Funtoo dan Misteri File PCap Hilang .
Saya menggunakan strace untuk melihat apa yang terjadi dan garis yang relevan adalah:
Begitu...
Hei lihat! Semua file batas yang saya coba buat!
Setelah melihat flag yang digunakan tcpdump, secara default, saya melihat ini:
Jadi mengapa demikian? Teori saya kira kira seperti ini:
/var/lib/tcpdump
, lalu menjatuhkan hak akses root dan mulai mengambil.Akibatnya, ketika saya tentukan
./blah
ataublah
bekerja dengan baik. Tetapi/tmp/blah
tidak karena/var/lib/tcpdump/tmp
tidak ada.Fitur samping yang rapi dari semua ini adalah: ketika menggunakan bendera suid untuk menginstal tcpdump SetUID, Anda dapat memberikan pengguna akses dengan
tcpdump
grup tanpa memberi mereka sudo atau akses root. Kemungkinan penggunaan meliputi kotak tangkap untuk insinyur atau peneliti jaringan Anda.Saya hanya berharap Gentoo / Funtoo memiliki pesan pada instalasi yang mengatakan semua ini.
tl; dr: Gentoo / Funtoo memasukkan file pcap Anda
/var/lib/tcpdump
.sumber
Sintaksnya benar: Saya baru mencobanya (walaupun pada port 80) dan menghasilkan file pcap di direktori kerja saat ini, mengingat opsi yang sama yang Anda gunakan.
Mungkinkah ada hubungannya dengan direktori home Anda, yang Anda coba tulis sebagai root (karena sudo)? Apakah mungkin Anda menggunakan direktori home yang di-mount NFS dengan root-squashing?
sudo touch ~akraut/pcaps/foo
?Bisakah Anda mencoba menuliskan pcap ke / tmp / atau sesuatu?
sumber
sudo tcpdump -w /tmp/blah -s 0 "port 6667"
sepertinya itu berfungsi, tetapi jika saya lakukansudo su -
pertama maka jalankantcpdump -w /tmp/blah -s 0 "port 6667"
sebagai root mengatakan "Tidak ada file atau direktori". Misteri itu semakin dalam ...