우분투(Ubuntu) 서버에서는 현재 네트워크 연결 상태
우분투(Ubuntu) 서버에서는 다양한 명령어를 통해 현재 네트워크 연결 상태, 열려 있는 포트, 연결된 IP 등을 상세하게 확인할 수 있습니다.
가장 많이 사용되는 현대적인 방법과 전통적인 방법, 그리고 실시간 모니터링 방법으로 나누어 설명해 드리겠습니다.
1. 가장 추천하는 방법: ss (Socket Statistics)
최신 우분투 버전에 기본으로 설치되어 있으며, 속도가 빠르고 정보가 정확하여 기존의 netstat를 대체하는 명령어입니다.
추천 명령어:
sudo ss -antpl
-
옵션 설명:
-
-a(all): 대기 중(Listening)인 포트와 연결된(Established) 포트를 모두 보여줍니다. -
-n(numeric): 호스트 이름 대신 IP 주소와 포트 번호를 숫자로 표시합니다 (속도가 더 빠름). -
-t(tcp): TCP 연결만 봅니다 (UDP도 보려면-u추가). -
-p(process): 해당 포트를 사용 중인 **프로세스 이름(PID)**을 표시합니다 (sudo 필요). -
-l(listening): 현재 연결을 기다리고 있는(열려 있는) 포트만 봅니다 (생략 시 연결된 상태 포함).
-
팁: 결과가 너무 길다면 grep을 사용하여 특정 포트나 IP를 찾을 수 있습니다.
예: sudo ss -antpl | grep 80 (80번 포트 확인)
2. 전통적인 방법: netstat
과거에 가장 많이 쓰이던 도구입니다. 최신 우분투에서는 기본 설치가 안 되어 있을 수 있습니다.
설치 방법:
sudo apt update
sudo apt install net-tools
추천 명령어:
sudo netstat -antpl
-
옵션의 의미는 위에서 설명한
ss명령어와 거의 동일합니다. -
State 열에서
ESTABLISHED(연결됨),LISTEN(대기 중),TIME_WAIT(종료 대기) 등의 상태를 확인할 수 있습니다.
3. 실시간 트래픽 모니터링: iftop
단순한 연결 상태가 아니라, “누가 대역폭을 많이 쓰고 있는지” 실시간으로 보고 싶다면 iftop이 유용합니다.
설치 방법:
sudo apt install iftop
실행 명령어:
sudo iftop
-
화면 상단에 대역폭 눈금이 표시되며, 소스(내 서버)와 목적지(상대방 IP) 간의 데이터 전송량을 실시간 그래프로 보여줍니다.
4. 프로세스별 네트워크 사용량: nethogs
어떤 **프로그램(프로세스)**이 네트워크를 쓰고 있는지 확인하고 싶을 때 가장 좋습니다.
설치 방법:
sudo apt install nethogs
실행 명령어:
sudo nethogs
-
PID, 사용자(User), 프로그램 이름, 전송 속도(Sent/Received)를 직관적으로 보여줍니다.
요약: 어떤 걸 써야 하나요?
| 상황 | 추천 도구 | 명령어 |
| 현재 열린 포트와 연결 상태 확인 | ss (1순위) | sudo ss -antpl |
| 실시간 트래픽 흐름 확인 | iftop | sudo iftop |
| 어떤 프로그램이 인터넷을 쓰는지 확인 | nethogs | sudo nethogs |
| 특정 파일/포트를 점유한 프로세스 확인 | lsof | sudo lsof -i :포트번호 |