얼마 전 회사에서 서버 포트를 열어달라는 요청을 받았다.
근데, 웹서버가 있는 것도 아니고 어떻게 포트만 달랑 열 수 있는 방법은 무엇인가?
처음엔 iptables 라는 명령어로 연신 포트 설정만 해댔다.
하고 나서 윈도우에서 telnet 으로 붙어보니 연결이 되지 않은 것을 확인했다.
검색결과, netcat(nc)를 사용하면 간단히 해결 될 문제 였다.
netcat(nc) 란?
Network connection 에서 raw-data read, write를 할수 있는 유틸리티 프로그램이다. 일반적으로는 UNIX의 cat과 비슷한 사용법을 가지고 있지만 cat이 파일에 쓰거나 읽듯이 nc는 network connection에 읽거나 쓴다. 이것은 스크립트와 병용하여 network에 대한 debugging, testing tool로써 매우 편리하지만 반면 해킹에도 이용범위가 매우 넓다.
nc -kl [포트번호] &
를 실행하면, 해당 포트번호로 실행된다. (프로세스)
netstat -anp | grep [포트번호]
로 포트가 열려있는지 조회가 가능하며,
kill -9 [PID]
로 아까 실행시켰던 프로세스를 끔과 동시에, 포트를 닫을 수 있다.
다음은, 예제이다.
포트 8888을 열었으며, 프로세스를 kill해서 다시 닫고 확인까지 완료한 상황이다.
'Server Engineering > Linux' 카테고리의 다른 글
Postgresql WAL(Write-Ahead Logging) 아카이브 및 풀 백업과 복구 (0) | 2019.05.22 |
---|---|
패키지 관리자를 통해 NGINX 최신 버전(Mainline/Stable) 설치하기 (0) | 2019.02.11 |
ulimit 명령어로 시스템 자원 최대로 활용하기 (0) | 2018.05.16 |