Bagaimana saya bisa mengendus paket yang dikomunikasikan melalui port serial di Linux?
linux
serial
packet-sniffer
Peter Mortensen
sumber
sumber
Jawaban:
Ada beberapa opsi:
sersniff adalah program sederhana untuk tunnel / sniff antara 2 port serial.
Serial to Network Proxy (ser2net) menyediakan cara bagi pengguna untuk terhubung dari koneksi jaringan ke port serial.
SerialSpy bertindak sebagai perangkat pass-through serial. Ini mendengarkan data yang masuk pada dua port serial dan meneruskannya sehingga perangkat bertindak seolah-olah mereka terhubung langsung. Ini juga mencatat data saat bergerak melalui port.
sercd adalah redirector port serial yang kompatibel dengan RFC 2217. Ini memungkinkan Anda berbagi port serial melalui jaringan. Itu didasarkan pada sredird. Protokol RFC2217 adalah ekstensi untuk telnet dan memungkinkan perubahan parameter port komunikasi.
SerLooK adalah aplikasi KDE untuk memeriksa data yang melewati saluran serial. Ia dapat berfungsi sebagai terminal biner yang mengirim dan menerima data melalui port yang ditentukan (mode Point to Point) dan menampilkannya pada tampilan terpisah. Setiap tampilan dapat dikonfigurasi untuk menampilkan data dalam heksadesimal, desimal, oktal, biner, dan ASCII mentah. Dimungkinkan juga untuk melakukan I / O melalui tampilan emulasi terminal dan menentukan port sekunder dan memonitor lalu lintas antara dua host eksternal menggunakan kabel "Y" (mode pengintai).
nullmodem menciptakan jaringan virtual pseudo-terminal. Ini dapat digunakan sebagai adaptor untuk menghubungkan dua program yang biasanya membutuhkan kartu antarmuka serial.
monitor ttywatch , log, dan terminal I / O multipleks. Ini memiliki rotasi log penuh bawaan, dan dapat menggunakan telnet serta port TTY lokal.
Serif garis sniffer (slsnif) adalah utilitas pembuatan port serial. Ini mendengarkan port serial yang ditentukan dan mencatat semua data melalui port ini di kedua arah.
sumber
socat
dantee
. 1)socat -d -d pty,raw,echo=0 pty,raw,echo=0
. Output akan memberi Anda dua port...N PTY is /dev/pts/27... N PTY is /dev/pts/28
. 2)sudo cat /dev/ttyS0 | tee /dev/pts/27
dan di terminal lainsudo cat /deb/pts/27 | tee /dev/ttyS0
. Akhirnya 3) Hubungkan program Anda ke/dev/tty/28
. Kedua perintah tee akan membuang kedua arah ke konsol dan meneruskan ke / dari port serial yang sebenarnya. Perhatikan bahwa pengaturan port seperti baudrate harus dikonfigurasikan sebelumnya.cat /dev/pts/27 | sudo tee /dev/ttyS0 serial-caps
danxxd
akan membantu jika protokol biner:cat /dev/pts/27 | sudo tee /dev/ttyS0 serial-caps | xxd
./deb/pts/27
harus/dev/pts/27
. Jugacat /deb/pts/27 | tee /dev/ttyS0
haruscat /dev/pts/27 | sudo tee /dev/ttyS0
Saya mencoba interceptty ( salin di GitHub ), dan berhasil menggunakannya. Pertama saya menjalankannya di port of interest:
Kemudian saya menghubungkan program-tes-ke terminal semu
/dev/pts/5
yang dibuat intersepsi.Saya mencoba menggunakan slsnif , tetapi saya menemukan kesalahan:
Item milis ini menunjukkan bahwa slsnif hanya mendukung terminal semu "legacy" (
/dev/ttyp0
dll) yang mungkin tidak digunakan pada kernel Linux saat ini.sumber
interceptty
dan berhasil!Coba gunakan jpnevulator (paket debian) atau slsniff . Perhatikan bahwa slsniff menggunakan model emulasi terminal yang sudah tidak digunakan lagi.
sumber