가상 포트 간 직렬 포트 데이터 모니터링

가상 포트 간 직렬 포트 데이터 모니터링

TCP를 통해 3D 프린터와 소프트웨어 간에 전송되는 데이터를 모니터링하는 데 문제가 있습니다.

USB 케이블로 Raspberry Pi에 연결된 3D 프린터가 있습니다. 저는 rasbperry에서 ser2net을 사용하여 프린터의 직렬 포트 데이터를 tcp를 통해 프린터 소프트웨어를 실행 중이고 Rasperry와 동일한 네트워크에 있는 노트북으로 전달하고 있습니다. 내 노트북에서는 socat을 사용하여 Rasberry의 전달된 직렬 포트에서 데이터를 수신하는 가상 직렬 포트(ttyACM1)를 마운트합니다. 지금까지는 꽤 잘 작동했으며 랩톱의 소프트웨어를 사용하여 원격으로 프린터를 사용할 수 있습니다.

하지만 이제 소프트웨어에서 프린터로 보내는 데이터를 모니터링하려고 할 때 문제가 발생합니다. 직렬 포트 데이터를 스니핑하기 위해 다른 소프트웨어를 사용하려고 시도했지만 이러한 소프트웨어를 실행할 때마다 프린터 소프트웨어와 가상 직렬 포트 간의 연결이 끊어졌습니다.

그러면 가상 포트와 소프트웨어 사이의 연결을 취소하지 않고 어떻게 동시에 소프트웨어를 사용하고 소프트웨어에서 프린터로 보내는 데이터를 스니핑할 수 있습니까?

이 설정에서 사용하는 명령과 소프트웨어는 다음과 같습니다.

~ 안에라즈베리프린터가 ttyACM0에 연결되어 있습니다

*ser2net.conf:

3333:raw:0:/dev/ttyACM0:115200,8DATABITS,NONE,1STOPBIT,XONXOFF,RTSCTS

랩탑:

$sudo socat pty,raw,echo=0,link=/dev/ttyACM1 tcp:10.1.1.107:3333 (/dev/에는 이제 ttyACM1->/dev/pts/30이 나타납니다)

그리고 예를 들어 차단을 시도하면 다음과 같습니다.

$sudo interceptty /dev/ttyACM1

프린터 소프트웨어가 실행 중일 때 데이터를 스니핑하기 위해 프린터 연결이 끊어졌다고 표시됩니다. Interceptty를 사용하여 ttyACM1의 데이터를 계속 읽을 수 있습니다. 그리고 차단을 닫으면 프린터를 다시 찾을 것입니다.

프린터를 사용하는 동안 데이터를 스니핑하는 방법이 있습니까?

관련 정보