Netcat(또는nc
)는 명령 라인 유틸리티는 데이터를 읽고 쓰는 네트워크 연결을 사용하여,TCP 또는 UDP 프로토콜. 그것은 하나의 가장 강력한 공구에서 네트워크 및 시스템 관리자가 무기고,그것으로 간주됩니다 네트워킹 도구를 제공합니다.이 기능을 사용하려면 어떻게해야합니까? Netcat 을 사용하여 네트워크 연결을 디버깅 및 모니터링하고,열린 포트를 검색하고,데이터를 전송하고,프록시로 전송할 수 있습니다.,
Netcat 패키지는 Macos 및 Ubuntu,Debian 또는 CentOS 와 같은 인기있는 Linux 배포판에 사전 설치되어 있습니다.
Netcat Syntax#
가장 기본적인 구문의 Netcat 유틸리티의 형식은 다음과 같습니다.
nc host port
에서 우분투 중 하나를 사용할 수 있습니다netcat
또는nc
. 둘 다 Netcat 의 openBSD 버전에 대한 심볼릭 링크입니다.
기본적으로 Netcat 은 지정된 호스트 및 포트에 대한 TCP 연결을 시작하려고 시도합니다., 하고 싶은 경우 설정 UDP 연결,사용하는-u
옵션:
nc -u host port
포트 스캔#
스캐닝 포트 중 하나에 대한 가장 일반적인 사용이 Netcat. 단일 포트 또는 포트 범위를 스캔할 수 있습니다.,
예를 들어,검사에 대한 포트를 열 범위에 20-80 을 사용하여 다음과 같은 명령:
nc -z -v 10.10.8.8 20-80
-z
옵션을 말할 것이다nc
만 검사에 대한 포트를 열, 를 보내지 않고 어떤 데이터가 그들을-v
옵션을 제공하 더 자세한 정보입니다.
출력 아래와 같습니다:
하려는 경우에만 인쇄 라인으로 열려있는 포트를 필터링할 수 있습니다 결과 함께grep
명령입니다.,
nc -z -v 10.10.8.8 20-80 2>&1 | grep succeeded
Connection to 10.10.8.8 22 port succeeded!Connection to 10.10.8.8 80 port succeeded!
사용할 수도 있습니다 Netcat 을 찾기 위해 서버 소프트웨어 및 버전입니다. 예를 들어,를 보내는 경우”EXIT”명령을 서버에 SSH 기본 포트는 22:
echo "EXIT" | nc 10.10.8.8 22
출력 아래와 같습니다:
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4Protocol mismatch.
을 검사하는 UDP 포트를 추가하는-u
옵션을 명령은 아래와 같:
nc -z -v -u 10.10.8.8 20-80
일반적으로,Nmap 은 더 나은 도구보다 Netcat 복잡한 포트 스캔합니다.,
파일 전송을 통해 Netcat#
Netcat 사용할 수 있습에서 데이터를 전송하나 다른 호스트를 작성하여 기본적인 클라이언트/서버 모델입니다.
이 작품을 설정하여 Netcat 을 특정 포트를 사용하여(-l
옵션)을 받는 호스트고 그 후 정기적으로 TCP 에서 연결을 다른 호스트에 보내는 파일이다.,
에 받는 다음 명령을 실행하는 포트가 열립니다 5555 들어오는 연결 및 출력을 리디렉션은 파일:
nc -l 5555 > file_name
에서 보내는 호스트 연결을 받는 호스트와 파일을 보낼:
nc receiving.host.com 5555 < file_name
전송하는 디렉토리에 사용할 수 있는tar
아카이브 디렉터리에서 소스트 및 추출하는 아카이브 대상에 호스트.
수신 호스트에서 포트 5555 에서 수신 연결을 수신하도록 Netcat 도구를 설정하십시오., 들어오는 데이터는 파이프tar
명령으로 추출하는 아카이브:
nc -l 5555 | tar xzvf -
에 보내는 호스트 팩 디렉토리고 보낼 데이터 연결하여 듣는nc
프로세스에 받는 주인:
tar czvf - /path/to/dir | nc receiving.host.com 5555
볼 수 있는 전송 진행 상황 모두에서 끝납니다. 완료되면CTRL+C
를 입력하여 연결을 닫습니다.
을 만드 간단한 채팅을 서버#
절차를 만들기 위한 온라인 채팅 사이에 두 개 이상의 호스트가 같은 파일을 전송할 때.,
에 호스트를 시작 Netcat 과정을 들어에 포트 5555
nc -l 5555
에서 두 번째로 호스트하려면 다음 명령을 실행합에 연결 포트를 듣고:
nc first.host.com 5555
지금 입력할 경우 메시지가 누르고ENTER
표시됩니다 모두에 호스트.
연결을 닫으려면CTRL+C
를 입력하십시오.
를 수행하는 HTTP 요청#
있지만 훨씬 더 나은 도구에 대한 HTTP 요청하는 등curl
사용할 수도 있습니다 Netcat 을 보내는 다양한 요구하는 원격 서버에 있습니다.,
예를 들어,을 검색하 Netcat 남자 페이지에서 OpenBSD 웹사이트의 경우 다음과 같이 입력합니다.
printf "GET /nc.1 HTTP/1.1\r\nHost: man.openbsd.org\r\n\r\n" | nc man.openbsd.org 80
전체 응답을 포함한 HTTP 헤더와 HTML 코드 인쇄에서 터미널도 있습니다.
결론#
이 자습서에서는 Netcat 유틸리티를 사용하여 TCP 및 UDP 연결을 설정하고 테스트하는 방법을 배웠습니다.자세한 내용은 Netcat man 페이지를 방문하여 Netcat 명령의 다른 모든 강력한 옵션에 대해 읽어보십시오.피>
Leave a Reply