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/으로 영구적으로 이동되었습니다.
다음은 별도로 구축 한 "echo"서버와 인터페이스 하는 간단한 예제입니다.
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
등록된 댓글이 없습니다.