Netcat(또는 nc 에 짧고)간단하면서도 강력한 네트워킹 명령행 도구를 사용하를 위해 모든 작업을 수행에서 리눅스와 관련된 TCP,UDP,또는 유닉스 도메인의 소켓을 지원합니다.
Netcat 은 포트 검색,포트 리디렉션,포트 리스너(들어오는 연결의 경우)에 사용할 수 있습니다. 게다가,당신은 대상 서버에 대한 액세스를 얻기 위해 백도어로 사용할 수 있습니다.
이 기사에서는 예제와 함께 Netcat 사용 명령을 설명합니다.,
Linux 에서 Netcat 설치 및 사용 방법
시스템에 netcat 패키지를 설치하려면 Linux 배포판의 기본 패키지 관리자를 사용하십시오.
$ yum install nc $ dnf install nc $ sudo apt-get install Netcat
한 번 netcat 패키지가 설치되어 있어 진행할 수 있습니다 추가를 배울의 사용 netcat 명령에서는 다음과 같은 예입니다.
포트 스캔
Netcat 위해 사용될 수 있 포트 스캔:을 알고있는 포트가 열려 있고 서비스를 실행하는 대상에 기계입니다. 단일 또는 다중 또는 다양한 열린 포트를 스캔 할 수 있습니다.,
다음은-z
옵션은 nc 가 실제로 데이터를 전송하지 않고 단순히 청취 데몬을 스캔하도록 설정합니다. -v
옵션 자세한 정보드와-w
지정한 제한 시간에 대한 연결을 설정할 수 없습니다.,
파일 전송 사이의 리눅스 서버
Netcat 파일을 전송할 수 있도록 사이에 두 개의 리눅스 컴퓨터 서버 및 모두 이러한 시스템이 있어야 합 nc 설치됩니다.
예를 들어를 복사,ISO 이미지 파일에는 한 컴퓨터에서 다른 컴퓨터 및 모니터링 전송 진행 상태를 사용하여(pv 유틸리티),실행에서 다음 명령을 보낸 사람/서버 컴퓨터(ISO 파일이 있는).,
이것은 포트 3000 에서 청취 모드(-l
플래그)에서 nc 를 실행합니다.
$ tar -zcf - debian-10.0.0-amd64-xfce-CD-1.iso | pv | nc -l -p 3000 -q 5
과 리시버/클라이언트 컴퓨터에 다음 명령을 실행하여 얻은 파일입니다.
$ nc 192.168.1.4 3000 | pv | tar -zxf -
을 만들 명령은 온라인 채팅 Server
사용할 수도 있습니다 Netcat 을 만드 간단한 명령은 온라인 메시징 서버니다., 이전 사용 예와 마찬가지로 nc 는 대화방에 사용되는 두 시스템에 설치해야합니다.
하나의 시스템에서 다음 명령을 실행하여 포트 5000 에서 수신 대기 채팅 서버를 만듭니다.
$ nc -l -vv -p 5000
다른 시스템에서 다음 명령을 실행 실행하는 채팅 세션을 컴퓨터의 메시징 서버가 실행되고 있습니다.,
$ nc 192.168.56.1 5000
Create a Basic Web Server
재치 있는-l
옵션 nc 명령을 만드는 데 사용되는 기본,안전하지 않은 웹 서버 정적 웹 파일에 대한 학습을 목적입니다. 이를 입증하려면 그림과 같이.html
파일을 작성하십시오.
$ vim index.html
파일에 다음 HTML 줄을 추가하십시오.
<html> <head> <title>Test Page</title> </head> <body> <p>Serving this file using Netcat Basic HTTP server!</p> </body></html>
파일에 변경 사항을 저장하고 종료하십시오.,
그 봉사:파일 HTTP 를 통해 다음 명령을 실행하는 것이 가능 HTTP 서버를 실행합니다.
$ while : ; do ( echo -ne "HTTP/1.1 200 OK\r\n" ; cat index.html; ) | nc -l -p 8080 ; done
다음 웹 브라우저를 열고 및 콘텐츠에 액세스할 수 있을 사용하여 다음과 같은 주소입니다.,
참고는 당신을 중지 할 수 있습 Netcat HTTP 서버를 눌러.
Linux 서버 연결 문제 해결
Netcat 의 또 다른 유용한 사용법은 서버 연결 문제를 해결하는 것입니다. 여기서 Netcat 을 사용하여 클라이언트가 발행 한 명령에 대한 응답으로 서버가 보내는 데이터를 확인할 수 있습니다.
다음 명령은 홈 페이지를 검색합니다 example.com.,
$ printf "GET / HTTP/1.0\r\n\r\n" | nc text.example.com 80
출력 위의 명령을 포함한 헤더를 보낸 웹 서버할 수 있는 문제 해결을 위해 사용됩니다.
포트에서 실행되는 서비스 찾기
Netcat 을 사용하여 포트 배너를 가져올 수도 있습니다. 이 경우 특정 포트 뒤에서 어떤 서비스가 실행되고 있는지 알려줍니다. 예를 들면 무엇을 알고 서비스의 유형은 뒤에 실행하는 포트는 22 특정 서버에서 다음 명령을 실행하여(교체 192.168.56.110 으로 대상 서버의 IP 주소 등). -n
플래그는 DNS 또는 서비스 조회를 비활성화하는 것을 의미합니다.,
$ nc -v -n 192.168.56.110 80
Create a Stream Sockets
Netcat also supports creation of UNIX-domain stream sockets. The following command will create and listen on a UNIX-domain stream socket.
$ nc -lU /var/tmp/mysocket &$ ss -lpn | grep "/var/tmp/"
Create a Backdoor
You can as well run Netcat as a backdoor., 그러나 이것은 더 많은 일을 요구합니다. Netcat 이 대상 서버에 설치되어있는 경우이를 사용하여 백도어를 만들어 원격 명령 프롬프트를 얻을 수 있습니다.
행동을 우회해야 합 Netcat 을 선택한 포트(e.g 포트 3001)에 대상 서버에 연결할 수 있는 이 포트에서 당신의 기계는 다음과 같습니다.
이것은 명령이 실행되는 원격 서버에서는-d
옵션을 비활성화 읽고 표준입력에서,그리고-e
지정하는 명령을 실행하는 대상 시스템입니다.,
$ nc -L -p 3001 -d -e cmd.exe
마지막으로 Netcat 은 HTTP,SSH 등을 포함한 다양한 서비스/프로토콜의 프록시로 사용할 수 있습니다. 자세한 내용은 해당 맨 페이지를 참조하십시오.
$ man nc
이 기사에서는 8 가지 실용적인 Netcat 명령 사용 예제를 설명했습니다. 다른 실용적인 사용 사례를 알고 있다면 아래의 피드백 양식을 통해 우리와 공유하십시오. 당신은뿐만 아니라 질문을 할 수있다.피>