줄 바꿈뿐만 아니라 netcat이 입력을 즉시 보내도록하려면 어떻게해야합니까?


35

줄 바꿈뿐만 아니라 netcat이 입력을 즉시 보내도록하려면 어떻게해야합니까? HTTP 파서를 수동으로 테스트하고 헤더 행이 여러 패킷에 퍼져있을 때 어떻게 작동하는지 확인하고 싶습니다.


2
socat답변에
Jeremy W

답변:


42

"eof"키를 사용하십시오 CtrlD. 줄 중간에서 누르면 해당 지점에서 입력 된 모든 것을 netcat합니다.

버퍼링은 실제로 tty 레이어에 의해 수행되며 전혀 처리되지 않습니다 nc. stty -icanon && nc ...버퍼링을 비활성화하고 nc데이터가 터미널에 입력되는 즉시 데이터를 볼 수있게 합니다. ( sttync명령을 함께 실행해야합니다. 그렇지 않으면 프롬프트가 표시 될 때 쉘 자체가이를 다시 활성화 할 수 있습니다.)


+1이지만 아무것도 버퍼링하지 않는 방식으로 netcat을 여는 옵션이 없습니까?
lpapp

5
@FinalContest : 버퍼링은 tty 레이어에 의해 수행됩니다. stty -icanon && nc ...또는 stty raw && nc ...비활성화합니다. [함께 실행해야한다. 그렇지 않으면 프롬프트가 표시 될 때 쉘 자체가 다시 활성화 할 것이다.]
grawity

@ grawity : 굉장한, 전자는 잘 작동하지만 후자는 멈춤 ... ctrl-c는 더 이상 세션을 끝내기 위해 작동하지 않으며 ctrl-z도 작동하지 않습니다. 기대 되나요? 또한 의견을 정리할 수 있도록 답변을 업데이트하십시오.
lpapp

2
@FinalContest : 예, rawtty 옵션의 전체 묶음을 변경합니다. 그 중 하나는 tty 수준에서 특수한 "제어"키를 처리하는 것입니다. ( 모든 것을 프로그램에 전달한다는 점에서 실제로는 "원시"모드 입니다.) stty -a -F /dev/pts/XX다른 tty에서 현재 매개 변수를 볼 수 있습니다 .
grawity

내가 사용하고 stty -icanon -echo && nc ...두 번, 그렇지 않으면 내가 감동받을 노스 캐롤라이나 입력 한 모든 문자를
Gelin 루오
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.