서버에서 listen 하고 있는 프로세스와 TCP 연결된 클라이언트의 IP 주소를 확인해야 할 때가 있다. 리눅스, 윈도우 모두 netstat 명령어에 옵션을 주면 쉽게 확인이 가능한데 문법은 약간 다르다.
리눅스
netstat -anp | grep [:port]
예를 들어
netstat -anp | grep :3306
이 명령어는 3306 포트에 listen 중인 mariadb와 연결한 클라이언트의 정보를 확인할 수 있다.
tcp 0 0 192.168.1.100:3306 192.168.1.101:54321 ESTABLISHED 1266/mariadbd
- Local Address : 서버의 IP 주소와 포트
- Foreign Address : 클라이언트의 IP 주소와 포트
- State : ESTABLISHED면 연결이 된 상태
즉 192.168.1.101 클라이언트에서 서버와 연결되어 있다는 의미다. 클라이언트가 사용하는 포트 번호(54321)는 랜덤하게 사용되는 값이기 때문에 크게 중요한 건 아니다.
윈도우
netstat -ano | findstr :3306
리눅스와 결과를 해석하는 방법은 동일하다.