Linux'ta Sniff seri bağlantı noktası


Yanıtlar:


27

Birkaç seçenek var:

  • sersniff 2 seri port arasında tünelleme / burnunu çekmek için basit bir programdır.

  • Seriden Ağa Proxy (ser2net) , bir kullanıcının bir ağ bağlantısından bir seri bağlantı noktasına bağlanmasını sağlar.

  • SerialSpy seri geçiş aygıtı olarak işlev görür. İki seri porttan gelen verileri dinler ve iletir, böylece cihazlar doğrudan bağlıymış gibi davranır. Ayrıca, portlardan geçerken verileri de kaydeder.

  • sercd , RFC 2217 uyumlu bir seri port yönlendiricidir. Seri bağlantı noktasını bir ağ üzerinden paylaşmanıza olanak tanır. Sredird dayanmaktadır. RFC2217 protokolü telnet'in bir uzantısıdır ve iletişim portu parametrelerinin değiştirilmesine izin verir.

  • SerLooK , seri hatlardan geçen verileri incelemek için kullanılan bir KDE uygulamasıdır. Tanımlanmış bir porttan (Noktadan Noktaya modu) veri gönderip alan ve bunları ayrı görünümlerde görüntüleyen bir ikili terminal olarak çalışabilir. Her görünüm, verileri onaltılık, ondalık, sekizli, ikili ve ham ASCII olarak görüntülemek üzere yapılandırılabilir. Terminal emülasyon görünümleri aracılığıyla G / Ç gerçekleştirmek ve ikincil bir port tanımlamak ve bir "Y" kablosu (Snooper modu) kullanarak iki harici ana bilgisayar arasındaki trafiği izlemek de mümkündür.

  • nullmodem sanal bir sözde-terminal ağı yaratır. Normalde seri arayüz kartlarına ihtiyaç duyan iki programı bağlamak için bir adaptör olarak kullanılabilir.

  • ttywatch terminal G / Ç'yi izler, günlüğe kaydeder ve çoğaltır . Tam günlük dönme yerleşiktir ve yerel TTY bağlantı noktalarının yanı sıra telnet'i de kullanabilir.

  • Seri hat dinleyicisi (slsnif), seri bağlantı noktası günlüğe kaydetme yardımcı programıdır. Belirtilen seri bağlantı noktasını dinler ve bu bağlantı noktasından geçen tüm verileri her iki yönde de kaydeder.


2
Bunu socatve kullanarak standart araçlarla başarabilirsiniz tee. 1) socat -d -d pty,raw,echo=0 pty,raw,echo=0. Çıktı size iki bağlantı noktası verecek ...N PTY is /dev/pts/27... N PTY is /dev/pts/28. 2) sudo cat /dev/ttyS0 | tee /dev/pts/27ve başka bir terminalde sudo cat /deb/pts/27 | tee /dev/ttyS0. Sonunda 3) Programınıza bağlanın /dev/tty/28. İki tee komutu her iki yöne de konsola bırakacak ve gerçek seri bağlantı noktasına iletecek. Baudrate gibi port ayarlarının önceden yapılması gerektiğini unutmayın.
jtpereyda

Sen de bir dosyaya tee şeyler kaydedebilirsiniz: cat /dev/pts/27 | sudo tee /dev/ttyS0 serial-capsve xxdbunun bir ikili protokol olmadığını yardımcı olacaktır: cat /dev/pts/27 | sudo tee /dev/ttyS0 serial-caps | xxd.
jtpereyda

@jtpereyda, 3. adımınızın programın / dev / ttyS0 'a bağlanması gerektiği gibi görünüyor. örneğin PUTTY'yi / dev / ttyS0 cihazına bağladığımda, asıl gömülü kartla iletişim kurarken, 2. adımdaki çıktının doğru olduğunu gösteriyor. Btw bir yazım hatası /deb/pts/27olması gerekir /dev/pts/27. Ayrıca cat /deb/pts/27 | tee /dev/ttyS0olmalıdırcat /dev/pts/27 | sudo tee /dev/ttyS0
enthusiasticgeek

Bu cevap çok eski, lütfen seri port taraması için interceptty düşünün
CharlesB

1
Bunu başka bir cevap olarak verebilirsin. @CharlesB Neden daha iyi olduğunu açıklamak da iyi olurdu.
civcivler

12

Interpeptty'yi ( GitHub'da kopyala ) denedim ve kullanmakta başarılı oldum. İlk önce ilgi limanına koştum:

interceptty /dev/ttyACM0 

Daha sonra test altındaki programı arayarak /dev/pts/5interteptty'nin yarattığı sözde terminale bağladım .


Slsnif kullanmaya çalıştım ama bir hata aldığımı öğrendim:

Failed to open a pty: No such file or directory

Bu posta listesi maddesi , slsnif'in /dev/ttyp0muhtemelen mevcut Linux çekirdeğinde kullanılmayan "eski" sahte terminalleri ( vb.) Desteklediğini gösterir .


1
Teşekkürler! Gömülü cihazımda da aynı hata. Sonra kullandım intercepttyve çalıştım !
gfleck

Hangi sahte terminali yarattığını nereden biliyorsunuz?
chwi

@chwi Oluşturduğu yalancı terminale bir bağlantı olan bir "ön aygıt" adı olan ikinci bir parametre verebilirsiniz.
Craig McQueen

Teşekkür ederim. Varsayılan olarak, bir / dev / intercepttydummy oluşturduğunu buldum. Trafiği ileri geri izleyebildim, ancak cihazdan gelen veriler yalnızca bilgisayar yazılımı tarafından değil, bilgisayar yazılımı tarafından okunmadı.
chwi

3

Jpnevulator (paketlenmiş debian) veya slsniff kullanmayı deneyin . Slsniff'in kullanımdan kaldırılmış bir terminal emülasyon modeli kullandığını unutmayın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.