>  기사  >  운영 및 유지보수  >  Linux nc 명령을 사용하는 방법

Linux nc 명령을 사용하는 방법

PHPz
PHPz앞으로
2023-05-17 17:13:293273검색

1. 명령어 소개

Netcat은 NC의 약자로 네트워크 업계의 Swiss Army Knife로 알려진 강력한 네트워크 도구입니다. 실제로 Linux 시스템의 명령은 ncat입니다. nc 명령은 ncat에 대한 소프트 링크일 뿐입니다. nc 명령의 주요 기능은 다음과 같습니다:

모든 TCP/UDP 포트 수신을 실현합니다. nc는 TCP 또는 UDP 모드에서 지정된 포트의 스캔을 수신하는 서버로 사용할 수 있습니다. 머신 간 파일 전송을 위해 TCP 또는 UDP 연결을 시작하는 클라이언트. 머신 간 네트워크 속도 테스트

nc nc 명령을 찾을 수 없으면 yum install -y nc를 사용하여 centos6 시스템을 설치할 수 있습니다. 24.el6.x86_64, centos7 시스템은 nmap-ncat-6.40-19를 설치합니다.

2. 사용 예

1. 서버 포트가 열려 있는지 확인합니다.

172.16.7.78 서버의 포트 80이 열려 있고 포트 81이 열려 있는지 확인합니다.

Linux nc 명령을 사용하는 방법

2. 파일을 복사합니다.

먼저 파일 수신 터미널 test2 머신에서 nc 모니터링을 활성화합니다.

Linux nc 명령을 사용하는 방법

그런 다음 파일 전송 터미널 test1 머신에서 파일을 보냅니다.

Linux nc 명령을 사용하는 방법

파일이 복사되었는지 확인합니다. test2 수신 성공

Linux nc 명령을 사용하는 방법

3. 터미널 간 통신 및 채팅

test1 호스트에서 NC 모니터링을 시작하고 Ctrl+C를 누르면 통신이 중단됩니다.

Linux nc 명령을 사용하는 방법

테스트2에서 모니터에 연결하고 Ctrl+C를 누르면 통신이 중단됩니다.

Linux nc 명령을 사용하는 방법

4. 포트 스캔

포트 스캔, 연결된 포트는 성공하고, 차단된 포트는 거부됩니다. 이 스캔은 nc-1.84-24.el6.x86_64를 기반으로 합니다.
[root@test1 /]# nc -v -w 1 172.16.7.78 -z 22-81
172.16.7.78 22 포트 [tcp/ssh]에 연결 성공!
nc: 172.16.7.78 포트 23(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 24(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 25(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 26(tcp)에 연결 ) 실패: 연결 거부
nc: 172.16.7.78 포트 27(tcp)에 연결 실패: 연결 거부
nc: 172.16.7.78 포트 28(tcp)에 연결 실패: 연결 거부
nc: 172.16.7.78 포트 29에 연결( tcp) 실패: 연결 거부됨
nc: 172.16.7.78 포트 30(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 31(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 32에 연결 (tcp) 실패: 연결 거부됨
nc: 172.16.7.78 포트 33에 연결(tcp) 실패: 연결 거부됨
nc: 172.16.7.78 포트 34에 연결(tcp) 실패: 연결 거부됨
nc: 172.16.7.78 포트에 연결 35(tcp) 실패: 연결 거부됨
nc: 172.16.7.78 포트 36(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 37(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78에 연결 포트 38(tcp) 실패: 연결 거부됨
nc: 172.16.7.78 포트 39(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 40(tcp)에 연결 실패: 연결 거부됨
nc: 172.16에 연결. 7.78 포트 41(tcp) 실패: 연결 거부됨
nc: 172.16.7.78 포트 42(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 43(tcp)에 연결 실패: 연결 거부됨
nc: 172.16에 연결 .7.78 포트 44(tcp) 실패: 연결 거부됨
nc: 172.16.7.78 포트 45(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 46(tcp)에 연결 실패: 연결 거부됨
nc: 연결 대상 172.16.7.78 포트 47(tcp) 실패: 연결 거부됨
nc: 172.16.7.78 포트 48(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 49(tcp)에 연결 실패: 연결 거부됨
nc: 연결 172.16.7.78 포트 50(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 51(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 52(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 53(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 54(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 55(tcp)에 연결 실패: 연결 거부됨
nc : 172.16.7.78 포트 56(tcp)에 연결 실패: 연결 거부
nc: 172.16.7.78 포트 57(tcp)에 연결 실패: 연결 거부
nc: 172.16.7.78 포트 58(tcp)에 연결 실패: 연결 거부
nc: 172.16.7.78 포트 59(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 60(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 61(tcp)에 연결 실패: 연결이 거부됨
nc: 172.16.7.78 포트 62(tcp)에 연결 실패: 연결 거부
nc: 172.16.7.78 포트 63(tcp)에 연결 실패: 연결 거부
nc: 172.16.7.78 포트 64(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 65(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 66(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 67(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 68(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 69(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 70(tcp)에 연결 실패 : 연결이 거부되었습니다
nc: 172.16.7.78 포트 71(tcp)에 연결 실패: 연결이 거부되었습니다
nc: 172.16.7.78 포트 72(tcp)에 연결 실패: 연결이 거부되었습니다
nc: 172.16.7.78 포트 73(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 74(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 75(tcp)에 연결 실패: 연결 거부됨
nc: 172.16.7.78 포트 76(tcp)에 연결 ) 실패: 연결 거부
nc: 172.16.7.78 포트 77(tcp)에 연결 실패: 연결 거부
nc: 172.16.7.78 포트 78(tcp)에 연결 실패: 연결 거부
nc: 172.16.7.78 포트 79에 연결( tcp) 실패: 연결 거부
172.16.7.78 80 포트 [tcp/http] 연결 성공!
nc: 172.16.7.78 포트 81(tcp) 연결 실패: 연결 거부

5 UDP 포트 확인

[ root@test1 ~]# nc -uvz 192.168.0.125 111
Ncat: 버전 7.50 ( https://nmap.org/ncat )
Ncat: 192.168.0.125:111.
Ncat: UDP 패킷 전송 성공
Ncat: 2.04초 만에 1바이트 전송, 0바이트 수신.

6. 네트워크 속도 테스트

네트워크 속도 측정은 dstat 명령으로 확인해야 합니다.

dstat 명령 설치

[root@test1 ~]# yum install -y dstat
[root@test2 ~]# yum install -y dstat

test1 호스트의 포트 수신 대기

[root@test1 ~]# nc -l 33333 > ;/dev/null

test2 호스트가 데이터를 보냅니다. 모두 0개의 데이터입니다

[root@test2 ~]# nc 192.168.0.124 33333 /zero

트래픽 보기

[root@test1 ~ ]# dstat
[root@test2 ~]# dstat

Linux nc 명령을 사용하는 방법

Linux nc 명령을 사용하는 방법

3. 사용 구문 및 매개변수 설명

1. 사용 구문

사용법: ncat [옵션] [호스트 이름] [포트]

2. 매개변수 설명

매개변수 매개변수 설명
-4 IPv4만 사용
-6 IPv6만 사용
-유, --unixsock Unix 도메인 소켓만 사용
-C, --crlf EOL 시퀀스에 crlf 사용
-c, --sh-exec /bin/sh를 통해 실행 주어진 명령
-e, --exec 주어진 명령을 실행합니다
–lua-exec 주어진 루아 스크립트를 실행
-g hop1[,hop2 ,…] 느슨한 소스 경로 홉(최대 8개)
-G 느슨한 소스 경로 홉 포인터(4, 8, 12, …)
-m, - -max-conns 최대 동시 연결 수
-h, --help Help 이 도움말 화면 표시
-d, --delay < ;time> 대기 시간 읽기/쓰기
-o, --output 세션 데이터를 파일로 덤프
-x, --hex-dump 세션 데이터를 16진수 파일로 덤프
-i, --idle-timeout idle 읽기/쓰기 시간 초과
-p, --source-port port 사용할 소스 포트를 지정
-s, --source addr 사용할 소스 주소 지정(-l에는 영향을 주지 않음)
-l, --listen Bind 및 감지 들어오는 연결 듣기
-k, --keep-open 듣기 모드에서 다중 연결 허용
-n, --nodns DNS를 통해 호스트 이름을 확인하지 마세요
-t, --telnet 텔넷 협상에 응답
-u, -- udp 기본 TCP 대신 udp를 사용
– sctp 기본 TCP 대신 sctp를 사용
-v , --verbose 상세 수준 설정(여러 번 사용할 수 있음)
-w, --wait 연결 시간 초과(초)
-z 연결 상태만 보고
–append-output 지정된 출력 파일을 누르는 대신 추가
–send-only 수신을 무시하고 EOF를 종료합니다
–recv-only 아무 것도 보내지 마세요.
–allow 주어진 호스트가 Ncat에 연결됩니다
– allowfile 호스트가 Ncat에 연결하도록 허용하는 파일
–deny 주어진 호스트가 Ncat에 연결
–denyfile Ncat의 호스트 파일에 연결을 거부
–broker Ncat의 연결 브로커 모드 활성화
–chat 간단한 Ncat 채팅 서버 시작
&ndash ;proxy 프록시를 통해 전달될 호스트 주소를 지정하세요
–proxy-type 프록시 유형 지정("http", "socks4" 또는 "socks5")
–proxy-auth HTTP 또는 SOCKS를 통해 인증 프록시 서버
–ssl Ssl을 사용하여 연결 또는 수신
–ssl-cert 수신에 사용되는 SSL 인증서 파일(PEM) 지정
–ssl-key 수신에 사용되는 SSL 개인 키(PEM)를 지정하세요.
–ssl-verify 인증서 및 도메인 이름 신뢰
–ssl-trustfile 신뢰할 수 있는 SSL 인증서가 포함된 PEM 파일
–ssl-ciphers 사용할 SSL 암호가 포함된 암호 목록
–version 명령 버전 보기

위 내용은 Linux nc 명령을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제