2023.09.24
업무를 하면서 netstat 명령어를 사용하는 경우가 있다. 사용하지만 명령어 출력값에 대해서 제대로 알지 못해서알아보고자 찾아보면서 정리했다.
Netsta 정의
netstat 는 네트워크 곤련 정보를 조회하고 표시하는 리눅스 및 unix 기반 운영 체제의 명령줄 도구이다.
netstat를 사용하면 현재 네트워크 연결, 라우팅 테이블, 인터페이스 통계 및 다양한 네트워크 관련 정보를 검색할 수 있다.
-bash: netstate: command not found
[user@localhost ~]$ netstat
-bash: netstat: command not found
[user@localhost ~]$ netstate
-bash: netstate: command not found
[user@localhost ~]$ netstate -a
-bash: netstate: command not found
[user@localhost ~]$ netstat -a
-bash: netstat: command not found
[user@localhost ~]$
알고보니 net-tools 패키지를 설치해야하는 것이었다.
일단 사용자 user는 yum 으로 패키지 설치시 root의 권한을 가지고 있기 않기 때문에 su - root 를 통해서 root로 전환한 후
[root@localhost ~]# yum install -y net-tools
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.elice.io
* extras: mirror.elice.io
* updates: mirror.elice.io
base | 3.6 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/4): base/7/x86_64/group_gz | 153 kB 00:00:00
(2/4): extras/7/x86_64/primary_db | 250 kB 00:00:00
(3/4): base/7/x86_64/primary_db | 6.1 MB 00:00:00
(4/4): updates/7/x86_64/primary_db | 23 MB 00:00:01
Resolving Dependencies
--> Running transaction check
---> Package net-tools.x86_64 0:2.0-0.25.20131004git.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
========================================================================================================================
Package Arch Version Repository Size
========================================================================================================================
Installing:
net-tools x86_64 2.0-0.25.20131004git.el7 base 306 k
Transaction Summary
========================================================================================================================
Install 1 Package
Total download size: 306 k
Installed size: 917 k
Downloading packages:
warning: /var/cache/yum/x86_64/7/base/packages/net-tools-2.0-0.25.20131004git.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Public key for net-tools-2.0-0.25.20131004git.el7.x86_64.rpm is not installed
net-tools-2.0-0.25.20131004git.el7.x86_64.rpm | 306 kB 00:00:00
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Importing GPG key 0xF4A80EB5:
Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
Package : centos-release-7-9.2009.1.el7.centos.x86_64 (@anaconda)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : net-tools-2.0-0.25.20131004git.el7.x86_64 1/1
Verifying : net-tools-2.0-0.25.20131004git.el7.x86_64 1/1
Installed:
net-tools.x86_64 0:2.0-0.25.20131004git.el7
Complete!
으로 설치하였다.
그리고 나서 다시 실행했다
[root@localhost ~]# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost.localdoma:ssh 192.168.56.101:53590 ESTABLISHED
tcp 0 36 localhost.localdoma:ssh 192.168.56.101:56171 ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ] DGRAM 14873 /var/run/chrony/chronyd.sock
unix 3 [ ] DGRAM 7497 /run/systemd/notify
unix 2 [ ] DGRAM 7499 /run/systemd/cgroups-agent
unix 5 [ ] DGRAM 7513 /run/systemd/journal/socket
unix 20 [ ] DGRAM 7515 /dev/log
unix 2 [ ] DGRAM 12457 /run/systemd/shutdownd
unix 3 [ ] STREAM CONNECTED 14813
unix 3 [ ] STREAM CONNECTED 14293
unix 3 [ ] STREAM CONNECTED 18422
unix 2 [ ] DGRAM 18561
unix 3 [ ] STREAM CONNECTED 18404
unix 3 [ ] STREAM CONNECTED 18325 /run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 18451
unix 3 [ ] STREAM CONNECTED 14292
unix 3 [ ] DGRAM 13147
unix 2 [ ] DGRAM 17613
unix 3 [ ] STREAM CONNECTED 18455
unix 3 [ ] STREAM CONNECTED 17498
unix 3 [ ] STREAM CONNECTED 18439
unix 3 [ ] STREAM CONNECTED 14884 /run/dbus/system_bus_socket
unix 2 [ ] DGRAM 14848
unix 3 [ ] STREAM CONNECTED 18443
unix 3 [ ] STREAM CONNECTED 18427
unix 3 [ ] STREAM CONNECTED 14882
unix 3 [ ] STREAM CONNECTED 15472
unix 3 [ ] DGRAM 13146
unix 3 [ ] STREAM CONNECTED 12968 /run/systemd/journal/stdout
unix 2 [ ] DGRAM 19001
unix 3 [ ] STREAM CONNECTED 18418
unix 3 [ ] STREAM CONNECTED 18431
unix 2 [ ] DGRAM 29010
unix 3 [ ] STREAM CONNECTED 18403
unix 3 [ ] STREAM CONNECTED 18324
unix 3 [ ] STREAM CONNECTED 15527 /run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 12640 /run/systemd/journal/stdout
unix 2 [ ] DGRAM 15054
unix 3 [ ] STREAM CONNECTED 18436
unix 2 [ ] DGRAM 29570
unix 3 [ ] STREAM CONNECTED 18400
unix 2 [ ] DGRAM 15591
unix 3 [ ] STREAM CONNECTED 18440
unix 3 [ ] STREAM CONNECTED 18454
unix 3 [ ] STREAM CONNECTED 18460
unix 3 [ ] STREAM CONNECTED 18415
unix 3 [ ] STREAM CONNECTED 15526
unix 3 [ ] STREAM CONNECTED 14814 /run/systemd/journal/stdout
unix 3 [ ] STREAM CONNECTED 18428
unix 3 [ ] STREAM CONNECTED 14885 /run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 18442
unix 3 [ ] STREAM CONNECTED 18407
unix 3 [ ] STREAM CONNECTED 18390
unix 3 [ ] STREAM CONNECTED 17499 /run/systemd/journal/stdout
unix 3 [ ] STREAM CONNECTED 19197
unix 3 [ ] STREAM CONNECTED 18419
unix 3 [ ] STREAM CONNECTED 15473 /run/systemd/journal/stdout
unix 3 [ ] STREAM CONNECTED 15189 /run/systemd/journal/stdout
unix 3 [ ] STREAM CONNECTED 16232
unix 3 [ ] STREAM CONNECTED 14959
unix 3 [ ] STREAM CONNECTED 18446
unix 2 [ ] DGRAM 15055
unix 3 [ ] STREAM CONNECTED 16233 /run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 18437
unix 2 [ ] DGRAM 15495
unix 3 [ ] STREAM CONNECTED 14769
unix 2 [ ] DGRAM 19194
unix 3 [ ] STREAM CONNECTED 30541
unix 3 [ ] STREAM CONNECTED 18389
unix 3 [ ] STREAM CONNECTED 18396
unix 3 [ ] STREAM CONNECTED 17388 /run/systemd/journal/stdout
unix 3 [ ] STREAM CONNECTED 15411 /run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 12639
unix 3 [ ] STREAM CONNECTED 18424
unix 3 [ ] STREAM CONNECTED 18399
unix 3 [ ] STREAM CONNECTED 19198
unix 3 [ ] STREAM CONNECTED 18445
unix 2 [ ] DGRAM 19874
unix 2 [ ] DGRAM 15381
unix 3 [ ] STREAM CONNECTED 18457
unix 3 [ ] STREAM CONNECTED 18410
unix 3 [ ] STREAM CONNECTED 12967
unix 3 [ ] STREAM CONNECTED 18412
unix 3 [ ] STREAM CONNECTED 18449
unix 3 [ ] STREAM CONNECTED 18433
unix 2 [ ] DGRAM 16217
unix 3 [ ] STREAM CONNECTED 14960 /run/systemd/journal/stdout
unix 2 [ ] DGRAM 13041
unix 2 [ ] DGRAM 30538
unix 3 [ ] STREAM CONNECTED 18406
unix 3 [ ] STREAM CONNECTED 18393
unix 3 [ ] STREAM CONNECTED 18461
unix 3 [ ] STREAM CONNECTED 18416
unix 2 [ ] DGRAM 29559
unix 3 [ ] STREAM CONNECTED 18452
unix 3 [ ] STREAM CONNECTED 18421
unix 2 [ ] DGRAM 31029
unix 2 [ ] DGRAM 18353
unix 3 [ ] STREAM CONNECTED 30542
unix 3 [ ] STREAM CONNECTED 15410
unix 3 [ ] STREAM CONNECTED 18397
unix 3 [ ] STREAM CONNECTED 17387
unix 3 [ ] STREAM CONNECTED 18425
unix 3 [ ] STREAM CONNECTED 15188
unix 3 [ ] STREAM CONNECTED 18430
unix 3 [ ] STREAM CONNECTED 14872
unix 3 [ ] STREAM CONNECTED 18458
unix 3 [ ] STREAM CONNECTED 18409
unix 3 [ ] STREAM CONNECTED 18413
unix 3 [ ] STREAM CONNECTED 15139
unix 2 [ ] DGRAM 14283
unix 3 [ ] STREAM CONNECTED 18434
unix 2 [ ] DGRAM 30814
unix 3 [ ] STREAM CONNECTED 14883
unix 3 [ ] STREAM CONNECTED 18448
unix 3 [ ] STREAM CONNECTED 18392
unix 2 [ ] DGRAM 28791
unix 3 [ ] STREAM CONNECTED 15192 /run/dbus/system_bus_socket
너무 길어서 나눠서 출력값에서 각 열에 대한 설명을 하면 다음과 같다.
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost.localdoma:ssh 192.168.56.101:53590 ESTABLISHED
tcp 0 36 localhost.localdoma:ssh 192.168.56.101:56171 ESTABLISHED
1. 'Active Internet connections (w/o servers)': 현재 활성화된 인터넷 연결 정보를 보여준다. "w/o servers"는 서버에서 오는 연결은 표시하지 않는다는 의미한다. 이 부분은 현재 시스템에서 발생한 클라이언트 측 연결을 나타낸다.
2. ' Proto' : 프로토콜의 유형을 나타낸다. 여기서 'tcp'는 TCP 프로토콜을, 'udp'는 UDP 프로토콜을 나타낸다.
3. 'Recv-Q' 및 'Send-Q' : 데이터를 받거나 보내는 큐(queue)에 현재 대기 중인 데이터 양을 나타낸다. 일반적으로 0으로 표시되며, 데이터가 대기 중인 경우 해당 에 대기 중인 데이터의 양이 나타난다.(두번째 줄에서 송신큐가 36인 것을 알 수 있음)
3. 'Local Address' : 로컬 주소 및 포트 번호를 표시한다. 로컬주소는 현재 시스템의 IP 주소이며, 포트번호는 프로세스 바인딩(bind)한 포트를 나타낸다. 여기서 "localhost.localdoma:ssh"는 현재 시스템에서 SSH 서버에 로컬로 연결 중임을 나타낸다.
4. "Foreign Address": 원격 주소와 포트 번호를 나타낸다. 여기서 "192.168.56.101:53590" 및 "192.168.56.101:56171"은 SSH 클라이언트가 192.168.56.101 서버의 SSH 서비스에 연결한 원격 주소 및 포트 번호를 나타냅니다.
5. "State" : TCP 연결의 상태를 나타낸다. 여기서 "ESTABLISHED"는 연결이 확립되어 있음을 나타낸다. 이것은 SSH 클라이언트와 서버 간의 활성화된 연결을 의미한다.
여기서 이상한 것은 4. Foreign Address 이다. 현재 Virtualbox vm의 ip는 192.168.56.102/24 인데 어째서 netstat하면 192.168.56.101서버의 ssh 서비스 연결한 것으로 확인이 되는지 이해할 수 없었다.
그렇다면 내 로컬PC가 192.168.56.101이라는 것인가 싶어서 로컬PC CMD 창에 ipconfig로 확인해본 결과
C:\Users\user>ipconfig
Windows IP 구성
이더넷 어댑터 이더넷:
연결별 DNS 접미사. . . . :
링크-로컬 IPv6 주소 . . . . :
IPv4 주소 . . . . . . . . . : 192.168.56.101
서브넷 마스크 . . . . . . . : 255.255.255.0
기본 게이트웨이 . . . . . . :
임을 알 수 있었다.
뒤쪽 출력값을 마저 설명하자면
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ] DGRAM 14873 /var/run/chrony/chronyd.sock
unix 3 [ ] DGRAM 7497 /run/systemd/notify
unix 2 [ ] DGRAM 7499 /run/systemd/cgroups-agent
1. "Active UNIX domain sockets (w/o servers)": 현재 활성화된 UNIX 도메인 소켓 정보를 표시한다.
2. "Proto": UNIX 도메인 소켓의 프로토콜 유형을 나타낸다. "unix"는 UNIX 도메인 소켓을 나타낸다.
3. "Type": 소켓의 유형을 나타낸다.
4. "State": UNIX 도메인 소켓의 상태를 나타낸다.
netstat 명령어 옵션
[root@localhost ~]# netstat -antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1028/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1359/master
tcp 0 36 192.168.56.102:22 192.168.56.101:56171 ESTABLISHED 4846/sshd: user [pr
tcp6 0 0 :::22 :::* LISTEN 1028/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1359/master
'Linux > CentOS' 카테고리의 다른 글
| [장애][CentOS 7] Too many open files: "Too many open files" Error (1) | 2023.09.24 |
|---|---|
| [CentOS 7] Chronyc source / Chrony tracking (0) | 2023.09.24 |
| [CentOS 7]yum 및 ping 실행이 안될때 (NAT, NAT네트워크 설정) (0) | 2023.09.24 |
| [CentOS] free -g이란? (메모리 사용량 확인방법) (0) | 2023.09.24 |
| [CentOS]UPtime이란? (0) | 2023.09.24 |