nc 명령의 -k 옵션

nc 명령의 -k 옵션

nc 명령의 매뉴얼 페이지에는 다음 정보가 포함되어 있습니다.

-k는 nc가 현재 연결이 완료된 후 다른 연결을 계속 수신하도록 강제합니다. -l 옵션 없이 이 옵션을 사용하면 오류가 발생합니다.

그러나 nc --help출력에는 -k 옵션에 대한 정보가 포함되어 있지 않습니다.

이런 패킷을 캡쳐하려고 하면

nc -kl -i 86400 -p 44444 > nc_44444.dmp

다음 오류가 발생합니다.

netcat: 잘못된 옵션 - 'k'

그렇다면 문제는 무엇입니까? "-k"라는 옵션이 있나요?

내 문제는 네트워크에서 일부 데이터를 캡처해야 하고 때로는 클라이언트 응용 프로그램이 서버 포트에서 연결이 끊어졌다가 다시 연결될 수 있다는 것입니다. 따라서 연결 해제/재연결 이벤트에 문제가 발생하고 싶지 않습니다.

답변1

netcat당신이 생각하는 명령을 사용하지 않는 것 같습니다 . 즉, 검사 결과입니다 which nc. 나에게는 (CentOS 6.6) 작동합니다 /usr/bin/nc. -k그러나 올바른 구문은 다음과 같습니다.

nc -l -k -i 86400 localhost 44444 > nc_44444.dmp

제대로 작동하지 않으면 패키지 ncat의 일부를 사용해 보세요 nmap. (많이있다인터넷 고양이구현...)

답변2

나는 같은 오류가 발생했습니다 GNU netcat 0.7.1. 이 플래그는 BSD 버전에서 지원됩니다 nc.

답변3

아마도,당신의 버전nc에는 이 옵션이 없습니다 -k. 루프를 사용하지 않고 업그레이드하거나 해결 방법으로 사용할 수 있습니다 -k.

관련 정보