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
.