[server] Linux에서 스 니프 직렬 포트

Linux에서 직렬 포트를 통해 통신 된 패킷을 어떻게 스니핑 할 수 있습니까?



답변

몇 가지 옵션이 있습니다.

  • sersniff 는 2 개의 직렬 포트 사이를 터널링 / 스니핑하는 간단한 프로그램입니다.

  • 직렬 대 네트워크 프록시 (ser2net) 는 사용자가 네트워크 연결에서 직렬 포트로 연결하는 방법을 제공합니다.

  • SerialSpy 는 직렬 통과 장치 역할을합니다. 두 개의 직렬 포트에서 들어오는 데이터를 수신하고 전달하여 장치가 마치 직접 연결된 것처럼 작동하도록합니다. 또한 포트를 통해 이동할 때 데이터를 기록합니다.

  • sercd 는 RFC 2217 호환 직렬 포트 리디렉터입니다. 네트워크를 통해 직렬 포트를 공유 할 수 있습니다. sredird를 기반으로합니다. RFC2217 프로토콜은 텔넷의 확장이며 통신 포트 매개 변수를 변경할 수 있습니다.

  • SerLooK 는 직렬 회선을 통과하는 데이터를 검사하기위한 KDE 응용 프로그램입니다. 정의 된 포트 (Point to Point 모드)를 통해 데이터를 송수신하는 이진 터미널로 작동하여 별도의보기에 표시 할 수 있습니다. 각보기는 16 진, 10 진, 8 진, 2 진 및 원시 ASCII로 데이터를 표시하도록 구성 할 수 있습니다. 터미널 에뮬레이션보기를 통해 I / O를 수행하고 보조 포트를 정의하고 “Y”케이블 (스 누퍼 모드)을 사용하여 두 외부 호스트 간의 트래픽을 모니터링 할 수도 있습니다.

  • nullmodem 은 의사 터미널의 가상 네트워크를 만듭니다. 일반적으로 직렬 인터페이스 카드가 필요한 두 개의 프로그램을 연결하는 어댑터로 사용할 수 있습니다.

  • ttywatch 는 터미널 I / O를 모니터, 로그 및 멀티 플렉스합니다. 전체 로그 회전 기능이 내장되어 있으며 로컬 TTY 포트뿐만 아니라 텔넷을 사용할 수 있습니다.

  • 직렬 회선 스니퍼 (slsnif)는 직렬 포트 로깅 유틸리티입니다. 지정된 직렬 포트를 수신하고이 포트를 통과하는 모든 데이터를 양방향으로 기록합니다.


답변

요격 ( GitHub에서 복사)을 시도 하여 성공적으로 사용했습니다. 먼저 관심있는 포트에서 실행했습니다.

interceptty /dev/ttyACM0

그런 다음 테스트 할 프로그램 /dev/pts/5을 인터 셉티가 생성 한 의사 터미널에 연결 했습니다.


slsnif 사용하려고 시도했지만 오류가 있음을 발견했습니다.

Failed to open a pty: No such file or directory

이 메일 링리스트 항목 은 slsnif /dev/ttyp0가 현재 Linux 커널에서 사용되지 않는 “레거시”의사 터미널 등 만 지원함을 나타냅니다 .


답변

사용해보십시오 jpnevulator (패키지 데비안) 또는 slsniff을 . slsniff는 더 이상 사용되지 않는 터미널 에뮬레이션 모델을 사용합니다.


답변