리눅스 네트워크 확인 명령어(netstat / ss / ping)
리눅스를 쓰다 보면 “서버가 느리다”, “외부에서 접속이 안 된다”, “포트가 열려 있나?” 같은 네트워크 이슈를 꼭 한 번은 만나게 된다. 문제는 이런 상황에서 원인이 너무 다양하다는 점이다. 방화벽일 수도 있고, 포트가 안 떠 있을 수도 있고, 라우팅이나 DNS 문제일 수도 있다.
그래서 이번 글에서는 리눅스에서 네트워크 상태를 빠르게 확인할 때 가장 많이 쓰는 명령어인 ping / ss / netstat를 정리해 보려고 한다.(참고로 netstat은 요즘 배포판에서 기본 설치가 아닌 경우도 많아서 ss가 더 “현역”인 느낌이 있다.)
가장 먼저 ping으로 “살아있는지” 확인하기
네트워크 문제가 생기면 첫 번째로 확인할 건 의외로 단순하다.
- 대상 서버가 살아 있나?
- 외부 네트워크가 되나?
- DNS가 정상인가?
1) IP로 ping 테스트
ping -c 4 8.8.8.8
[설명]
-c 4 : 4번만 보내고 종료IP로 테스트하면 “DNS 이슈”는 제외하고 네트워크 자체만 확인 가능하다.
2) 도메인으로 ping 테스트 (DNS 확인)
ping -c 4 google.comIP는 되는데 도메인은 안 되면 DNS 문제일 가능성이 높다.
다만 보안 정책 때문에 ICMP(ping)가 차단된 서버/네트워크도 있다. ping이 안 된다고 해서 무조건 장애로 단정 짓지는 말자.
포트가 열려 있는지 확인하기: ss (추천)
리눅스에서 “포트가 떠 있는지” 확인하는 건 운영에서 정말 자주 한다. 예를 들어 nginx(80/443), ssh(22), DB(3306/5432) 같은 것들이다.
현재 LISTEN 중인 포트 확인
ss -lntp명령어에서 사용할 수 있는 옵션은 다음과 같다.
-l : listen
-n : 숫자로 표시(서비스명 변환 X)
-t : TCP
-p : 프로세스 정보 표시(권한 필요할 수 있음)
위와 같이 조회를 하면 보통 결과에서 이런 식으로 보인다.
LISTEN 0 128 0.0.0.0:22 ... → SSH 포트가 열려 있음
LISTEN ... :80 ... → 웹 서버 포트가 열려 있음특정 포트만 필터링(예: 22번 포트 확인)
다음으로는 특정 포트만 필터링 하는 케이스다.
ss -lnt | grep ':22 '연결 상태 확인 (ESTABLISHED 등)
연결 상태 확인은 아래 명령어로 가능하다.
ss -antp여기서 ESTABLISHED 연결이 너무 많다면 트래픽/봇 공격/커넥션 누수도 의심 가능하다.
netstat (구형이지만 여전히 참고용)
요즘은 ss로 대체되는 분위기지만, 레거시 문서나 운영 습관 때문에 netstat을 찾는 경우가 있다.
netstat 설치 (Ubuntu 기준)
sudo apt update
sudo apt install net-toolsLISTEN 포트 확인
netstat -lntp특정 포트 확인
netstat -lntp | grep :22보너스: 내 서버 IP / 라우팅도 같이 확인하면 좋다
네트워크 이슈가 “포트 문제”가 아니고, 아예 NIC/IP/라우팅 문제일 수도 있다. 아래서는 간단히 아이피, 라우팅 등을 확인할 수 있는 명령어들을 확인해 보자. 그냥 이런 명령어가 있다는 정도를 알아두면 될 것 같다.
IP 확인
ip addr라우팅 확인
ip route실전 체크 순서 (필자가 자주 쓰는 루틴)
네트워크 문제 상황에서, 보통 아래 순서로 체크하면 빨리 정리된다.
외부 통신 확인
ping -c 4 8.8.8.8DNS 확인
ping -c 4 google.com포트가 떠 있는지 확인
ss -lntp
ss -lntp | grep :22 (or :80, :443 등)서비스가 죽었는지 확인 (필요 시)
프로세스 확인: ps aux | grep nginx 같은 방식
systemd: systemctl status nginx보통 여기까지 오면 어느 정도는 사유 확인이 된다. 여기까지 왔는데 걸리는 부분이 없다면 조금 머리가 아플 수 있다. 건투를 빈다.
결론
리눅스 네트워크 문제는 원인이 다양하지만, ping으로 생존 확인 → ss/netstat으로 포트 확인 이 두 가지만 해도 원인 범위를 크게 줄일 수 있다. 특히 운영 환경에서는 “포트가 떠 있나?”가 거의 절반 이상을 해결해 준다.
그러면 다음에는 네트워크 문제에서 자주 같이 등장하는 방화벽(ufw / iptables) 확인을 정리해 보도록 하겠다.
한 줄 정리
리눅스 네트워크 확인은 ping으로 연결 확인하고, ss(netstat)로 포트가 열려 있는지 보면 된다.