이 글에서는 주로 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
-G
-h 온라인 도움말.
-i<지연 초> 정보를 전송하고 통신 포트를 검색하는 시간 간격을 설정합니다.
-l 수신 모드를 사용하여 수신 데이터를 제어합니다.
-n 도메인 네임서버를 통하지 않고 IP 주소를 직접 사용합니다.
-o<출력 파일> 파일 이름을 지정하고 16진수 문자로 전송된 데이터를 이 파일에 덤프하고 저장합니다.
-p 로컬 호스트가 사용하는 통신 포트를 설정합니다.
-r - 임의의 숫자는 로컬 및 원격 호스트의 통신 포트를 지정합니다.
-s
기본 사용법을 살펴보겠습니다.
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
위 내용은 Linux 시스템의 nc 명령은 무엇입니까? nc 명령어 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!