No Rules Rules
netcat 활용하기 (feat. 윈도우) 본문
지금은 기억도 나지 않지만 한때 대세는 해킹이지!!! 라며 관심 가지고 공부했던 리버스 엔지니어링과, 그때 함께 많이 찾아보던 netcat 입니다.
netcat은 TCP또는 UDP를 이용하여 데이터를 읽고 쓰는 유틸리티입니다.
OS를 가리지 않는다는 장점이 있고, 윈도우는 따로 설치를 해야 하지만 리눅스의 경우, 보통 배포에 포함된 경우가 많습니다.
윈도우의 경우, 설치 후 환경 변수에 등록만 해둔다면, 리눅스와 마찬가지로 "nc xxxx" 과 같이 명령어로 사용할 수 있습니다.
netcat, ncat, nc 로 불리는 아이입니다.
그럼 윈도우 OS 기준으로 설치부터 사용까지 정리 해보겠습니다.
일단 위 경로를 통해 netcat 1.11을 설치 해줍니다. (설치라기보단 실행파일이 포함된 압축 파일입니다.)
어디에 압축을 풀어도 상관없지만 설명을 위해 C:\netcat 이라고 가정합니다.
잠깐!
윈도우에 설치된 혹은 기본 보안프로그램에 의해 nc.exe가 삭제될 수 있습니다.
보안프로그램 내에서 예외 경로를 지정해줍시다.
편리한 사용을 위해 환경 변수에 등록도 해줍니다.
이렇게 환경 변수에 등록을 하면 "nc xxxx" 처럼 사용할 수 있는데요.
윈도우키 + R 을 누르고 "cmd"를 실행해볼께요.
nc는 다음과 같은 옵션들을 사용할 수 있는데요.
단순히 채팅 형태로 사용을 해보겠습니다.
서버는 클라이언트의 데이터를 수신하기 위한 용도이며, 위 텍스트는 수신된 데이터입니다.
127.0.0.1 아이피 주소의 12345 포트로 데이터를 전송하고자 하는 클라이언트입니다. 기본적으로 TCP 클라이언트입니다.
이렇게 클라이언트에서 콘솔 input을 하면, 서버에서 수신된 데이터를 콘솔 output하게 됩니다.
UDP로도 연결이 가능합니다.
서버에서의 수신 정보는 파일로 남길 수도 있습니다.
제가 netcat을 사용한 목적은 WSL의 포트 포워딩에 의해서 시작되었습니다.
이전 포스팅에서와 같이 WSL2는 UDP에 대한 포트 포워딩을 지원하지 않기 때문입니다.
nc를 이용한 별도의 툴(SDI구조의 MFC로 계획중입니다.)을 만들 계획이지만, 그전에 UDP 포트 포워딩이 되는지 테스트를 해봐야겠습니다.
즉, 중계기와 같은 역할을 하는 아이라고 생각하면 될것 같습니다.
'생활 > 업무' 카테고리의 다른 글
Windows에서 포트 포워딩(Port Forwarding) 설정하기 (0) | 2023.08.29 |
---|---|
gnuplot을 이용한 line chart, heatmap chart 만들기 (feat. 리눅스, plotting chart) (2) | 2022.08.31 |
VS2022를 이용한 라이브러리 추가 방법 (feat. Visual studio 2022, 리눅스, 정적 라이브러리, 동적 라이브러리) (0) | 2022.08.07 |
WSL 포트 포워딩 (feat. port forwarding, TCP만 지원함) (0) | 2022.07.20 |