v1.10-41.1
IPv6 주소에 대한 옵션이없는 것처럼 보이는 최신 버전의 netcat ( )을 사용하고 있습니다 ( -6
이전 버전의 nc
).
로 nc -lvnp 2222
수신 포트를 입력 하고 확인 netstat -punta
하면 서버가 2222
IPv4 주소의 포트 에서만 수신 대기하는 것으로 보입니다 .
tcp 0 0 0.0.0.0:2222 0.0.0.0:* LISTEN 2839/nc
tcp6은 예를 들어 내 apache2 서버와 같이 활성화되지 않습니다.
tcp6 0 0 :::80 :::* LISTEN -
답변
데비안에서 볼 수 있듯이 넷캣에는 적어도 3 ~ 4 가지의 다른 구현이 있습니다 :
- netcat-traditional 1.10-41 IPv6를 지원하지 않는 원본 : 아마도 설치 한 것.
- netcat6 은 IPv6을 제공하도록 만들어졌습니다 (이전, 대체 됨).
- netcat-openbsd 1.130-3. IPv6을 지원합니다.
- ncat 에서 제공하지 데비안 안정 이후 7.70 + dfsg1-3 아마 조금 더 새로운, nmap은이 지원 IPv6을 사용한다.
나는 openbsd를 위해 갈 것입니다. 각 버전은 미묘하게 다른 구문을 가질 수 있으므로주의하십시오.
그건 그렇고 : socat 은 netcat보다 훨씬 더 많은 것을 할 수있는 훨씬 더 나은 도구입니다. 당신은 그것을 시도해야합니다!
답변
ipv4 및 ipv6의 기능은 실제로 여러 구현 (포크) 또는 완전히 다른 버전이 있다는 혼동의 결과라고 생각합니다. 검색하면에 대한 언급이 우연히 발견 nc6
됩니다. 이 구현은 BSD 기반 배포판에있는 것 같습니다.
nc6
특정 배포판에 설치 하고 nc
ipv6 지원 대신 실행하려고합니다 .
추가 연구
이 커밋을 2018-01-11 에 발견했습니다. IPv6 패치 를 추가하십시오.이 패치 는 새로운 버전의 netcat에 IPv6 기능을 다시 추가합니다 .
참고 : 당신이 둘 다 지원하는 기술로 나는 내 시스템과에 NC 7.50 만 액세스 할 수 있습니다 -4
와 -6
.
나는 당신이 netcat의 최신 버전이라고 생각하는 것이 사실 훨씬 오래된 버전이라고 생각합니다 : http://nc110.sourceforge.net/ .
다양한 구현의 전체 목록을 보려면 Netcat 에 대한 Wikipedia 질문 에서 확인할 수 있습니다 .
netcat의 원래 버전은 Unix 프로그램이었습니다. 마지막 버전 (1.10)은 1996 년 3 월에 릴리스되었습니다. 1
대부분의 Linux 배포판에서 GNU netcat 또는 NMAP 버전이 가장 많이 사용되는 것으로 보입니다.
POSIX 시스템에는 GNU netcat [5] 또는 OpenBSD netcat 과 같은 처음부터 다시 쓰는 것을 포함하여 POSIX 시스템 에 여러 가지 구현이 있습니다 . 6 후자는 IPv6 및 TLS 를 지원합니다 . OpenBSD 버전은 FreeBSD base 7 및 Windows / Cygwin 으로 포팅되었습니다 . 8 Mac OS X에는 OSX 10.13부터 netcat이 설치되어 있거나 MacPorts를 사용하여 변형을 설치할 수 있습니다. [9] netcat의 Microsoft Windows 버전도 있습니다. [10]
예를 들어 CentOS 7.x에서 :
$ nc --version
Ncat: Version 7.50 ( https://nmap.org/ncat )
$ rpm -qf /bin/nc
nmap-ncat-6.40-13.el7.x86_64