댓글 검색 목록

[기타] Netcat 사용 방법

페이지 정보

작성자 운영자 작성일 20-11-18 13:24 조회 799 댓글 0

Netcat은 다양한 네트워킹 작업을 수행하는 데 사용하는 매우 유용한 Unix 명령이며 디버그 및 작동 방식을 배우는 데 매우 유용합니다.


nc 명령을 통해 사용할 수 있습니다.


다음 구문을 사용하여 네트워크 서버에 연결합니다.


nc DOMAIN PORT 


nc localhost 8000 


서버에 연결되면 메시지를 입력하여 보낼 수 있으며 서버에서 보낸 응답을 볼 수 있습니다.


프로토콜 (HTTP, FTP, SMTP 등)의 형태로 응용 프로그램 수준 기능에 대해 작업 할 수 있는 간단한 일대일 채팅과 같습니다.


Netcat을 사용하면 인터넷을 구동하는 모든 애플리케이션 레벨 프로토콜을 시뮬레이션 할 수 있습니다.


웹 서버에 연결하여 HTTP 프로토콜 지침을 보낼 수 있습니다. nc flaviocopes.com 80으로 내 웹 사이트에 연결할 수 있고 보낼 수 있습니다


GET / HTTP/1.1
Host: flaviocopes.com

(세 번째 줄은 빈 줄입니다)


HTTP / 1.1 301 이 https://flaviocopes.com/으로 영구적으로 이동되었습니다.


Screen%20Shot%202020-11-16%20at%2009.23.19.png다음은 별도로 구축 한 "echo"서버와 인터페이스 하는 간단한 예제입니다.


Screen%20Shot%202020-11-16%20at%2009.04.15.png 

Netcat은 TCP, 기본 프로토콜 또는 UDP와 함께 작동 할 수 있습니다.


UDP를 사용하려면 -u 플래그를 추가하십시오.


nc -u localhost 8000 


서버도 만들 수 있습니다. -l (listen) 옵션을 사용하여 특정 포트에서 수신합니다.


nc -l PORT 


Netcat은 수신 된 모든 명령을 인쇄합니다.


한 터미널 창에서 nc -l 8001을 사용하고 다른 창에서 클라이언트 nc localhost 8001을 사용하여 서버를 실행 한 다음 클라이언트 터미널에 메시지를 입력하여 서버에 메시지를 보냅니다.


Netcat은 네트워크 검사에도 사용할 수 있습니다. 특정 범위에서 서버의 열린 포트를 스캔 할 수 있습니다.


nc -v -z localhost 1-10000 


팁 : grep과 결합하여 노이즈를 필터링합니다. nc -v -z localhost 1-10000 2> & 1 | grep 성공


(포트를 사용하는 프로세스가 궁금하다면 lsof -i : PORT 실행)


nc 서버에 파일의 내용을 연결하는 클라이언트에 보내도록 지시 할 수 있습니다.


nc -l PORT < FILENAME 


nc DOMAIN PORT에 연결하는 클라이언트는 해당 파일의 내용을 인쇄하지만 nc DOMAIN PORT> FILENAME을 사용하여 내용을 파일에 저장할 수 있으므로 기본 파일 전송이 수행됩니다.


파일이 제공된 후 서버가 종료됩니다.


이 명령을 간단한 Bash 셸 루프로 래핑 할 수 있습니다.


while true; do nc -l PORT  < FILENAME; done


이것이 웹 서버의 가장 간단한 구현입니다.


while true; do nc -l 80  < index.html; done


클라이언트에게 파일에 포함 된 지침을 서버로 보내도록 지시 할 수 있습니다.


nc DOMAIN PORT < FILENAME 



댓글목록 0

등록된 댓글이 없습니다.

웹학교 로고

온라인 코딩학교

코리아뉴스 2001 - , All right reserved.