netstat
- 네트워크 연결상태 , 라우팅 테이블 , 인터페이스 상태등을 보여주는 명령어
사용방법
netstat [옵션]
옵션
|옵션||설명| |---|----| |-n|IP, Port번호를 보여줍니다| |-a|모든 네트워크상태를 보여줍니다.| |-t|TCP 프로토콜만 보여줍니다.| |-u|UDP 프로토콜만 보여줍니다.| |-r| 라우팅 테이블 출력| |-s|프로토콜 별(IP, ICMP, TCP, UDP 등)로 통계를 보여줍니다.| |-l|대기중인 소켓 목록을 보여줍니다.|
사용 예시
모든 네트워크 연결 확인
모든 네트워크 연결 상태 출력.
-a 옵션 미지정시 Established
상태인 것만 나옴
netstat -a | tail -n 2
...
unix 3 [ ] STREAM CONNECTED 792734 /run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 57342 /run/systemd/journal/stdout
프로토콜 별로 출력
* TCP만 확인하기
netstat -at
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:1521 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 localhost:ipp 0.0.0.0:* LISTEN
* UDP 만 확인하기
netstat -au
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 0.0.0.0:52169 0.0.0.0:*
udp 0 0 0.0.0.0:mdns 0.0.0.0:*
udp 0 0 localhost:domain 0.0.0.0:*
LISTEN 상태만 출력
netstat -anl
유용한 옵션 조합
현재 시스템에서 활성화된 TCP 및 UDP 연결 정보 모두 출력
netstat -tunap
현재 시스템에서 활성화된 네트워크 연결 정보 출력
netstat -nltp
ss (socket statistics)
ss
는 netstat
과 마찬가지로 네트워크 소켓 정보를 표시하기 위해 사용된다
ss
는 netstat
커맨드를 대체하기 위해 나온 명령어로 ss
명령어 사용을 강력 추천한다
사용법
옵션 | 설명 |
---|---|
-a,--all | 옵션은 모든 소켓을 표시함 |
-l,--listening | 옵션은 접속 대기 상태 소켓만 표시 |
-n,--numeric | 옵션은 호스트 DNS명이 아니라 IP주소로 표시 |
-t,--tcp | 옵션은 tcp 소켓을 표시 |
-u,--udp | 옵션은 udp 소켓 표시 |
-x,--unix | 옵션은 UNIX 도메인 소켓을 표시 |
-s,--summary | 옵션은 각 프로토콜의 통계 정보 표시 |
-p,--processes | 옵션은 프로세스가 사용 중인 소켓 표시 |
80번 포트 열려있는지 확인
$ ss -nlt | grep "80"
LISTEN 0 4096 0.0.0.0:80 0.0.0.0:*
LISTEN 0 4096 [::]:80 [::]:*
출력 필드
Netid
: 프로토콜 명State
: 소켓 상태Recv-Q
: 수신 실패 데이터 바이트 수Send-Q
: 송신 실패 데이터 바이트 수Local Address:Port
: 소켓에 연결된 경로명 또는 로컬 호스트명(IP 주소):포트 번호