티스토리 뷰

netstat

Table Of Contents

  1. netstat
  2. lsof (MAC)

netstat

현재 사용하고 있는 TCP 포트를 조회하는 리눅스 명령어는 netstat 입니다. netstat명령어로 TCP통신을 진행중인 서비스의 연결상태를 확인가능 하다.

$ netstat -tnl

위 명령어를 실행결과는 아래와 같다. 옵션 t 는 TCP, n 은 10진수(Numeric), l 은 Listening을 의미한다.

$ netstat -tnl 
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address   Foreign Address    State
tcp        0      0 0.0.0.0:111     0.0.0.0:*          LISTEN
tcp        0      0 0.0.0.0:22      0.0.0.0:*          LISTEN
tcp        0      0 127.0.0.1:25    0.0.0.0:*          LISTEN
tcp        0      0 0.0.0.0:5666    0.0.0.0:*          LISTEN
tcp6       0      0 :::9096         :::*               LISTEN
tcp6       0      0 :::9092         :::*               LISTEN
tcp6       0      0 :::9093         :::*               LISTEN

Listening 말고, All state를 보려면 tna 를 쓰면된다. 아래 ESTABLISHED를 보면, 이 VM은 Kafka(9092포트) 1.21.91.4, 1.21.91.5, 1.21.91.5 서버와 연결(ESTABLISHED) 되어 있다는것을 알수 있다. 추가로 Elasticsearch(9200포트) 1.26.69.8 서버와 연결되어 있다. tna 옵션은 외부 서버와 어떻게 연결되었는지를 보는데 쓰인다.

$ netstat -tna 
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address   Foreign Address    State
tcp        0      0 127.0.0.1:44636      1.21.91.4:9092       ESTABLISHED
tcp        0      0 127.0.0.1:47164      1.21.91.5:9092       ESTABLISHED
tcp        0      0 127.0.0.1:49802      1.21.91.6:9092       ESTABLISHED
tcp        0      0 127.0.0.1:52998      1.26.69.8:9200       ESTABLISHED
tcp6       0      0 :::111                  :::*                    LISTEN

만약 현재 포트를 사용하고 있는 프로세스 정보 도 함께 보고 싶으면 아래와 같이 실행한다.

$ netstat -tnlp

옵션 p 는 Programs을 의미한다. 아래 결과를 보면, PID와 프로그램 이름을 보여준다.

Proto Recv-Q Send-Q Local Address   Foreign Address   State   PID/Program name
tcp        0      0 0.0.0.0:111     0.0.0.0:*         LISTEN      -
tcp        0      0 0.0.0.0:22      0.0.0.0:*         LISTEN      -
tcp        0      0 127.0.0.1:25    0.0.0.0:*         LISTEN      -
tcp        0      0 0.0.0.0:5666    0.0.0.0:*         LISTEN      -
tcp6       0      0 :::9096         :::*              LISTEN  123/java
tcp6       0      0 :::9092         :::*              LISTEN  123/java
tcp6       0      0 :::9093         :::*              LISTEN  123/java

PID 를 가지고 더 자세한 Program 정보도 알수 있다.

ps -aux | grep 123 # PID
manager  16766 12.2  9.3 17720328 1140776 ?    Sl    2020 8790:18 java -Xmx1G -Xms1G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -

lsof (MAC)

MAC에도 netstat가 있지만, 맥환경에서는 포트확인이 힘들다. 그래서 보통 lsof 명령어를 많이 쓴다. sudo 를 쓰면 root권한 port도 보인다.

$ sudo lsof -PiTCP -sTCP:LISTEN
COMMAND     PID       USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
launchd       1       root    7u  IPv6 0xcfbef755f6f4f325      0t0  TCP *:22 (LISTEN)
launchd       1       root    8u  IPv4 0xcfbef755f6f57755      0t0  TCP *:22 (LISTEN)
launchd       1       root   10u  IPv6 0xcfbef755f6f4f325      0t0  TCP *:22 (LISTEN)
launchd       1       root   11u  IPv4 0xcfbef755f6f57755      0t0  TCP *:22 (LISTEN)
UserEvent   111       root   69u  IPv6 0xcfbef755f6f50585      0t0  TCP [fe80:4::aede:48ff:fe00:1122]:49153 (LISTEN)

'Linux > 명령어 (command)' 카테고리의 다른 글

로그를 보는법 (log)  (0) 2017.12.11
service start/stop  (0) 2017.12.11
mount nfs하기  (0) 2017.12.08
port 번호 보기  (0) 2017.11.23
iconv (encoding)  (0) 2017.09.15
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함