> 운영 및 유지보수 > 리눅스 운영 및 유지 관리 > Linux 시스템의 nc 명령은 무엇입니까? nc 명령어 사용법에 대한 자세한 설명

Linux 시스템의 nc 명령은 무엇입니까? nc 명령어 사용법에 대한 자세한 설명

伊谢尔伦
풀어 주다: 2017-05-30 15:01:20
원래의
10278명이 탐색했습니다.

이 글에서는 주로 Linux 시스템에서 nc 명령의 기본 사용법을 소개합니다. nc 명령은 포트 스캐닝 및 파일 전송에 대한 기본 사용법을 간략하게 소개합니다.

기능 설명: 네트워크 도구 중 "스위스 군용 칼"로 알려진 강력한 네트워크 도구 <( ̄▽ ̄)>이며 Windows 및 Linux 버전이 있습니다. 짧고 간결하며 실용적이기 때문에 TCP 또는 UDP 프로토콜을 통해 데이터 읽기 및 쓰기를 전송할 수 있는 간단하고 안정적인 네트워크 도구로 설계되었습니다. 동시에 필요에 따라 다양한 유형의 네트워크 연결을 생성할 수 있으므로 네트워크 애플리케이션 디버그 분석기이기도 합니다.
nc는 다음과 같은 네트워크 기능을 제공할 수 있습니다.
1) 특정 포트를 수신하면 nc를 서버로 사용할 수 있지만 이렇게 nc를 사용하여 생성된 서버는 단지 에코 서버일 뿐 다른 기능은 없다는 것을 발견했습니다.
2 ) 이 때 nc가 클라이언트가 됩니다. 마찬가지로 echo 역할만 할 수 있는 간단한 클라이언트입니다.
3) 사용할 수 있는 포트를 스캔합니다. 특정 컴퓨터가 특정 포트에서 활성화되어 있는지 쿼리합니다.
몇 가지 구체적인 사용 예


예 1:
nc를 사용하여 linux
nc -lp 23 &(예: telnet)
netstat에서 특정 포트를 엽니다. an|grep 23 (포트가 정상적으로 열려 있는지 확인)

예 2:
파일 전송에 nc를 사용하고, 명령
ssh root@www.freetstar.com "( nc -l 10003 > 대상 2>/dev/null & )" && cat 소스 | nc www.freetstar.com 10003
&& 전면에서는 원격 호스트 www.freetstar.com에 ssh로 로그인한 후 nc 명령어를 사용하여 로컬 10003 포트를 열고 백그라운드 프로세스가 됩니다.
&& 뒤에서 로컬 컴퓨터에서 소스 파일을 열고 www.freetstar.com 포트 10003으로 리디렉션합니다. 즉, 원격 www.freetstar.com 호스트 포트 10003이 소스 파일을 수신하도록 합니다

예 3:
Linux
nc -v -z host.example.com 70-80에서 특정 포트를 스캔하려면 nc를 사용하세요.
포트(70~80)를 스캔하면 범위를 지정할 수 있습니다. -v 자세한 정보를 출력합니다.

예 4:
하드 디스크 또는 파티션 복제
예 2와 마찬가지로 dd에서 하드 디스크 또는 파티션의 데이터를 가져온 다음 전송하기만 하면 됩니다.
마운트된 시스템에서는 하드 디스크나 파티션 복제 작업을 수행하면 안 됩니다. 따라서 설치 CD를 사용하여 부팅하고 복구 모드로 들어가(또는 Knoppix 도구 CD를 사용하여) 시스템을 시작하고 server1에서 실행해야 합니다. # nc -l -p 1234 dd of=/dev/sda 실행 포트 1234 server1에서 수신하여 얻은 파일을 /dev/sda에 저장합니다.
Server2에서 실행합니다. # dd if=/dev/sda | nc server1 1234

예 5:
웹 페이지 저장
while true; 80 - q 1 < somepage.html; 완료

예 6:
HTTP 헤더 시뮬레이션
[root@hatest1 ~]# nc www.huanxiangwu.com 80
GET / HTTP/1.1
호스트: ispconfig.org
참조자: mypage.com
User-Agent: my-browser
nc 명령 후 빨간색 부분의 내용을 입력한 후 Enter를 두 번 눌러 상대방으로부터 HTTP 헤더 내용을 가져옵니다.

예 7:
Chat
server1의 포트 1234에서 듣기 [root@hatest2 tmp]# nc -lp 1234
server2의 포트 1234에서 server1에게 메시지 보내기 [root@hatest1 ~]# nc server1 1234
이런 식으로 , 양 당사자는 서로 통신할 수 있습니다. 정상적으로 종료하려면 Ctrl+D를 사용하세요.
자세한 사용법은 매뉴얼 페이지를 참조하세요.

nc example.host 포트 example.host 호스트의 포트에 대한 TCP 링크를 엽니다. 링크가 실패하면 오류 메시지가 표시되지 않습니다.
nc -p 31337 -w를 종료하세요. 5 example .host 42가 예제와 함께 열립니다. 호스트 호스트의 포트 42에 있는 TCP 링크. 31337을 소스 포트로 사용하고 타임아웃 링크 시간은 5초입니다
nc -u example.host 53 프로토콜을 udp 프로토콜로 지정

구문: ​​nc [-hlnruz][-g][ -G][-i][-o][-p][-s][-v...] [ -w<타임아웃 초>][호스트 이름][통신 포트...]

매개변수:
-g 라우터 점프 통신 게이트웨이를 설정합니다. 최대 8개까지 설정할 수 있습니다.
-G 소스 라우팅 디렉터를 설정합니다. 해당 값은 4의 배수입니다.
-h 온라인 도움말.
-i<지연 초> 정보를 전송하고 통신 포트를 검색하는 시간 간격을 설정합니다.
-l 수신 모드를 사용하여 수신 데이터를 제어합니다.
-n 도메인 네임서버를 통하지 않고 IP 주소를 직접 사용합니다.
-o<출력 파일> 파일 이름을 지정하고 16진수 문자로 전송된 데이터를 이 파일에 덤프하고 저장합니다.
-p 로컬 호스트가 사용하는 통신 포트를 설정합니다.
-r - 임의의 숫자는 로컬 및 원격 호스트의 통신 포트를 지정합니다.
-s 데이터 패킷을 보낼 로컬 호스트의 IP 주소를 설정합니다.
-u UDP 전송 프로토콜을 사용합니다.
-v는 명령어 실행 과정을 보여줍니다.
-w 연결을 기다리는 시간을 설정합니다.
-z 0 입력/출력 모드를 사용하며 통신 포트를 스캔할 때만 사용됩니다.

기본 사용법을 살펴보겠습니다.

1. 로컬 포트를 수신합니다.

root@10.1.1.43:~# nc -l -p 1234 
root@10.1.1.43:~# netstat -tunlp | grep 1234
로그인 후 복사

tcp 0 0 0.0.0.0:1234 0.0.0.0:* LISTEN 1 5543/nc

2.포트 스캔

root@10.1.1.43:~# nc -v -w 10 10.1.1.180 80
로그인 후 복사

(UNKNOWN ) [10.1.1.180] 80(www) open

root@10.1.1.43:~# nc -v -w 10 10.1.1.180 -z 80-30000
로그인 후 복사

(UNKNOWN) [10.1.1.180] 22000(?) open
(UNKNOWN) [10.1.1.180] 80(www) open

3. 파일 발신

소스 10.1.1.43 text.txt

대상 10.1.1.180

root@10:~# nc -l -p 1234 > test.txt #开10.1.1.180:1234端口监听,并将socket传输过来的数据重定向到test.txt文件 test 43 nc
root@10.1.1.43:~#cat test.txt    
root@10.1.1.43:~# nc  10.1.1.180 1234 < test.txt  #连接远程的10.1.1.180,从test.txt的路径从定向到socket,从而将文件传输到远方。
root@10:~# cat test.txt
test 43 nc
로그인 후 복사


4. 디렉터리 전송

소스 10.1.1.43 python_program

대상 10.1.1.180

root@10:~# nc -l -p 1234 | tar xzvf -
root@10.1.1.43:~# tar czvf -  python_program | nc 10.1.1.180 1234
로그인 후 복사

python_program/
python_program/1. py
python_program /4.py
python_program/3.py

5. UDP 포트 테스트

root@172.16.211.34:web# netstat -tunlp
로그인 후 복사

활성 인터넷 연결(서버만)
Proto Recv-Q Send-Q 로컬 주소                                                                     0 0 0.0 .0.0: 22 0.0. 0.0:* 듣기 1111/SSHD
Udp 0 0.0.0.0:68 0.0.0:* 887/DHClient


root@172.16.211.35:~# nc -vuz  172.16.211.34 68
로그인 후 복사
e 172.16.211.34에 연결 68 포트 [UDP/BOOTPC] 성공 Bleak

위 내용은 Linux 시스템의 nc 명령은 무엇입니까? nc 명령어 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿