리눅스 정보실

리눅스 포트 확인 방법 ss, netstat, lsof

고지존 2025. 8. 18. 14:44
반응형

리눅스 서버 운영 중 가장 자주 확인해야 하는 작업 중 하나가 특정 포트가 열려 있는지, 어떤 프로세스가 해당 포트를 사용하고 있는지 파악하는 일입니다. 특히 서비스 접속 오류나 방화벽 문제를 점검할 때 필수적으로 수행됩니다. 이 글에서는 ss, netstat, lsof 명령어를 활용하여 포트 상태를 확인하는 방법을 상세히 다루겠습니다.

1. ss 명령어로 포트 확인

ss는 최신 리눅스 배포판에서 권장되는 네트워크 상태 확인 도구입니다. 속도가 빠르고 출력이 직관적입니다.

열린 포트 전체 확인

ss -tuln 결과값

ss -tuln

- -t: TCP 연결
- -u: UDP 연결
- -l: LISTEN 상태
- -n: 도메인 대신 숫자로 출력

특정 포트 검색

ss -lntp | grep 8080

위 명령어는 8080 포트가 열려 있는지와 해당 포트를 점유한 프로세스를 함께 확인합니다. 서비스 동작 여부를 빠르게 파악할 수 있습니다.

2. netstat 명령어로 포트 확인

netstat은 오래된 명령어지만 여전히 많이 사용됩니다. 일부 배포판에서는 별도의 패키지 설치가 필요할 수 있습니다.

전체 포트 확인

netstat -tuln

 

결과값 출력

 

옵션 의미는 ss와 유사하며, TCP/UDP 연결 상태를 확인할 수 있습니다.

프로세스와 함께 확인

netstat -tulnp | grep 22

22번 포트를 사용하는 프로세스를 확인할 수 있습니다. 보안 점검 시 유용합니다.

3. lsof 명령어로 포트 확인

lsof는 파일과 프로세스의 관계를 확인하는 도구이지만, 포트 점유 프로세스를 확인하는 데도 자주 사용됩니다.

특정 포트 확인

lsof -i :3306

위 예시는 3306번 포트를 사용하는 프로세스를 출력합니다. 주로 데이터베이스 서버 점검 시 활용됩니다.

4. 실전 활용

웹 서버 접속이 되지 않는 상황을 가정해봅니다. 먼저 ss -lntp | grep 80 명령으로 80번 포트가 열려 있는지 확인합니다. 열려 있지 않다면 웹 서버 서비스가 비정상 종료된 경우일 수 있으며, 이때 systemctl status httpd 또는 systemctl status nginx를 확인해야 합니다. 만약 포트가 열려 있는데도 접속이 안 된다면 방화벽 설정을 점검해야 하며, firewall-cmd --list-all 명령어로 규칙을 확인할 수 있습니다.

 

리눅스 서버에서 포트 확인은 문제 해결의 출발점입니다. ss는 빠르고 직관적인 최신 명령어이며, netstatlsof는 상황에 따라 여전히 유용합니다. 서버 관리자는 세 가지 방법을 모두 익혀두는 것이 안정적인 운영에 큰 도움이 됩니다.

반응형