릴레이를 어떻게 사용하나요 netcat
? 시도했지만 작동하지 않습니다.
cd /tmp
mknod backpipe p
nc -l -p 7007 0<backpipe | nc 192.168.1.101 9001 | tee backpipe
7007에서 데이터를 수신하려면 청취 모드에 있어야 합니다.
$다른 응용 프로그램이 여기에 패킷을 넣고 있습니다.7007에 무슨 일이 일어나고 있나요? 9001(수신 포트이기도 함)로 이동해야 합니다.
$ telnet localhost 9001
7007 패킷이 표시됩니까?
어떤 아이디어가 있나요?
선택 사항: 패킷에 추가 헤더를 넣을 수도 있나요? http 헤더를 이미지 콘텐츠 유형으로 에뮬레이션하시겠습니까?
답변1
이렇게 하면:
nc -l -p 7007 | nc -l -p 9001
포트 7007로 들어오는 모든 것은 두 번째 netcat으로 파이프되어 포트 9001의 텔넷 세션으로 중계됩니다.
헤더를 삽입하려면 기본 프로토콜을 이해하고 최소한 "메시지" 경계를 파악해야 하므로 이는 사소한 일이 아닙니다. 이를 수행하는 방법을 알고 있다면 두 파이프 사이에 코드를 삽입하여 이를 수행할 수 있습니다.
nc -l -p 7007 | ./my_filter | nc -l -p 9001
./my_filter
입력이 수행 stdin
되고 기록된 모든 내용이 stdout
포트 9001에 표시됩니다.