리눅스 netstat 명령어, ifconfig 명령어
ℹ️이 콘텐츠에는 광고가 포함되어,판매 발생 시 수익이 발생합니다.(네이버 쇼핑 커넥트, 아마존 어필리에이트, 애드센스 등)리눅스에 netstat 명령어 및 ifconfig 명령어를 실행하기 위해 리눅스 서버에 명령어 실행을 위한 net-tools이 설치되어 있어야 합니다.
✅ net-tools 설치
# CentOS
sudo yum -y install net-tools
# Ubuntu
sudo apt-get -y install net-tools
# Rocky Linux
sudo dnf -y install net-tools✅ netstat 명령어
netstat[network statistics:네트워크 통계]은 네트워크 상태를 확인하는 명령어입니다. 어떤 포트가 열려있고, 어떻게 사용되고 있는지와 해킹 시도가 있거나 자신의 컴퓨터가 좀비 PC인지 확인할 수 있습니다.

◼ netstat 명령어 옵션
◼ netstat 실행 및 설명
netstat 명령어를 실행해서 네트워크 연결상태, 라우팅테이블, 인터페이스 상태 등을 확인할 수 있습니다.
netstat -antpl
# 현재의 모든 네트웍 상태를 보여주며(-a), 다른 PC와 연결된(Established) 상태 및 대기(Listeniing) 중인 모든 포트(-n) / TCP 프로토콜(-t) / 포트를 사용하는 프로세스와 프로그램(-p) / 대기중인 네트워크 (-l) 
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      1103/sshd: /usr/sbi 
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      6391/mariadbd       
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::80                   :::*                    LISTEN      10875/httpd         
tcp6       0      0 :::3306                 :::*                    LISTEN      6391/mariadbd       
tcp6       0      0 10.0.0.99:80            45.xx.xx.xxx:40040      TIME_WAIT   -                   
tcp6       0      0 10.0.0.99:80            209.xx.xx.xxx:62754     FIN_WAIT2   -                ~]# netstat -nap | grep ㅣLITEN
# 대기중(LISTEN)인 포트 보기 / 열려 있는 모든 포트(-n)를 네트워크(-a)와 프로세스와 프로그램(-p)과 함께 보기
etstat -nap | grep LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1103/sshd: /usr/sbi 
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      6391/mariadbd       
tcp6       0      0 :::22                   :::*                    LISTEN      1103/sshd: /usr/sbi 
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::80                   :::*                    LISTEN      10875/httpd         
tcp6       0      0 :::3306                 :::*                    LISTEN      6391/mariadbd       
~]# netstat -nap | grep 22
# 22 포트 보기
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1103/sshd: /usr/sbi 
tcp        0      0 10.0.0.99:22            122.43.208.254:50041    ESTABLISHED 1604/sshd: rocky [p 
tcp        0     52 10.0.0.99:22            122.43.208.254:49976    ESTABLISHED 1519/sshd: rocky [p 
tcp6       0      0 :::22                   :::*                    LISTEN      1103/sshd: /usr/sbi 
unix  2      [ ]         DGRAM      CONNECTED     22579    972/chronyd          /run/chrony/chronyd.sock
unix  2      [ ACC ]     STREAM     LISTENING     22866    1004/gssproxy        /run/gssproxy.sock
~]# netstat -nat
# TCP 프로토콜 네트워크 연결 상태 확인 / 열려 있는 모든 포트(-n)를 네트워크(-a)를 TCP 프로토콜과 보기(-t)
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN     
### 생략 ###
tcp       32      0 10.0.0.99:32998         140.204.30.137:443      CLOSE_WAIT 
tcp        0      0 10.0.0.99:22            122.43.208.254:50041    ESTABLISHED
tcp        0      0 10.0.0.99:22            122.43.208.254:50057    ESTABLISHED
~]# netstat -nat | grep 80
tcp        1      0 10.0.0.99:33448         169.254.169.254:80      CLOSE_WAIT 
### 생략 ###
tcp        1      0 10.0.0.99:33090         169.254.169.254:80      CLOSE_WAIT 
tcp6       0      0 :::80                   :::*                    LISTEN     ✅ ifconfig 명령어
config 명령어는 리눅스 운영체제에서 네트워크 인터페이스의 설정 및 관리를 위한 명령어입니다. 이를 통해 현재 네트워크 구성 정보를 확인하고, IP 주소, 넷마스크, 브로드캐스트 주소 설정, 별칭 생성, 하드웨어 주소 설정, 인터페이스를 활성화 또는 비활성화할 수 있습니다.

| 
 항목 30559_5842e6-a0> | 
 설명 30559_a2e342-6e> | 
|---|---|
| 
 inet 127.0.0.1 30559_152d01-1a> | 
 루프백용 IPv4 주소 30559_e2d057-48> | 
| 
 netmask 255.0.0.0 30559_05ed24-22> | 
 루프백용 서브넷 마스크 30559_34f53e-65> | 
| 
 inet6 ::1 30559_5a75ee-a9> | 
 루프백용 IPv6 주소 30559_010dc6-02> | 
| 
 loop 30559_b40b4c-a4> | 
 장치 타입이 루프백임을 나타냄 30559_b90e4e-c6> | 
| 
 RX/TX packets 0 30559_4b8428-2d> | 
 루프백을 통한 데이터 송수신 수 30559_fddbd7-96> | 
| 
 RX/TX bytes 0 30559_ca326a-0b> | 
 송수신된 바이트 수 30559_0591da-e9> | 
| 
 errors, dropped 등 30559_70dfa0-c3> | 
 루프백 인터페이스의 오류 상태 30559_ad816a-e9> | 
| 
 항목 30559_56a673-92> | 
 설명 30559_3b904a-16> | 
|---|---|
| 
 flags=4163<…> 30559_54f139-7a> | 
 인터페이스 상태 및 기능 (UP, BROADCAST 등) 30559_b5ba9d-99> | 
| 
 mtu 1500 30559_f8095a-46> | 
 Maximum Transmission Unit, 최대 전송 단위 30559_3119be-67> | 
| 
 inet 192.168.45.200 30559_2c6f96-f3> | 
 IPv4 주소 30559_054c87-25> | 
| 
 netmask 255.255.255.0 30559_29a70f-58> | 
 서브넷 마스크 30559_3af685-bc> | 
| 
 broadcast 192.168.45.255 30559_c18098-78> | 
 브로드캐스트 주소 30559_314810-38> | 
| 
 inet6 … 30559_48eb89-11> | 
 IPv6 주소 30559_110d9a-6e> | 
| 
 ether 08:00:27:71:ab:2c 30559_b00371-58> | 
 MAC 주소 (물리적 주소) 30559_9e3451-42> | 
| 
 txqueuelen 1000 30559_7456b3-e8> | 
 송신 대기열 길이 30559_089019-bc> | 
| 
 RX packets 1420 30559_8f51f4-fc> | 
 수신한 패킷 수 30559_97652b-8e> | 
| 
 RX bytes 462896 30559_0a7d1d-2f> | 
 수신한 총 바이트 수 30559_6e12db-fd> | 
| 
 RX errors 0 30559_8654fc-96> | 
 수신 중 발생한 오류 수 30559_e64aa8-48> | 
| 
 TX packets 1057 30559_038102-bb> | 
 전송한 패킷 수 30559_41e717-54> | 
| 
 TX bytes 121642 30559_733d80-97> | 
 전송한 총 바이트 수 30559_1512d9-6e> | 
| 
 TX errors 0 30559_a3582c-bf> | 
 전송 중 발생한 오류 수 30559_054a69-ef> | 
| 
 dropped, overruns, collisions 30559_c0c661-c4> | 
 네트워크 전송 중 발생한 문제들 30559_c37eb4-c8> | 
🔲 이더넷, 루프백 인터페이스 비교
| 
 구분 30559_5f7574-92> | 
 이더넷 인터페이스 (예: enp0s3) 30559_4adf21-38> | 
 루프백 인터페이스 (예: lo) 30559_6d90df-d7> | 
|---|---|---|
| 
 역할 30559_411032-b0> | 
 실제 네트워크 통신 (외부와 데이터 송수신) 30559_32bd27-f4> | 
 자기 자신과의 통신 테스트 30559_f289bf-2b> | 
| 
 IP 주소 30559_b8e263-f0> | 
 DHCP 또는 수동으로 할당된 외부용 IP (예: 192.168.x.x) 30559_0c38ef-14> | 
 고정된 내부 IP (127.0.0.1, ::1) 30559_f1bb10-d0> | 
| 
 용도 30559_a7ba6e-20> | 
 인터넷, 로컬 네트워크 등 외부 장치와 통신 30559_879269-ec> | 
 시스템 내부 테스트, 애플리케이션 간 통신 30559_ce4d68-f9> | 
| 
 물리적 장치 30559_92dc82-13> | 
 실제 NIC(Network Interface Card) 30559_0d5569-d9> | 
 없음 (가상 인터페이스) 30559_b965c7-5c> | 
| 
 전형적인 사용 예 30559_841f1a-ad> | 
 웹 서버, SSH 접속 등 외부 서비스 30559_1aecab-bf> | 
 ping 127.0.0.1, DB서버 로컬 접속 등 30559_b4485a-90> | 
주로 커맨드 라인에서 네트워크 설정을 수행하는 데 사용됩니다.
# 모든 네트워크 정보 표시 #         
ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:0B:CE:1D:19:5A
          inet addr:172.31.0.23  Bcast:172.16.25.63  Mask:255.255.255.224
          inet6 addr: fe80::20b:cdff:fe1c:185a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2344927 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2220777 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:293839516 (280.2 MiB)  TX bytes:1043721606 (995.3 MiB)
          Interrupt:185 Memory:f7fe0000-f7ff0000
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:5022927 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5022927 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2175739488 (2.0 GiB)  TX bytes:2176012488 (2.0 GiB)
sit0      Link encap:IPv6-in-IPv4
          NOARP  MTU:1480  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.1.1.1  P-t-P:10.1.1.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
~]# ifconfig eth0
#특정 네트워크 설정 보기
eth0      Link encap:Ethernet  HWaddr 00:0B:CE:1D:19:5A
          inet addr:172.31.0.23  Bcast:172.16.25.63  Mask:255.255.255.224
          inet6 addr: fe80::20b:cdff:fe1c:185a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2344927 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2220777 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:293839516 (280.2 MiB)  TX bytes:1043721606 (995.3 MiB)
          Interrupt:185 Memory:f7fe0000-f7ff0000
### 명령어 옵션 ###
▼ 네트워크 인터페이스 비활성화
~]# ifconfig eth0 down
~]# ifdown eth0
▼ 네트워크 인터페이스에 IP 주소를 할당
~]# ifconfig eth0 172.31.0.23
▼ 네트워크 인터페이스에 넷마스크를 할당
~]# ifconfig eth0 netmask 255.255.255.224
▼ 네트워크 인터페이스에 브로드캐스트를 할당
~]# ifconfig eth0 broadcast 172.31.0.23
▼ 네트워크 인터페이스에 IP, 넷마스크 및 브로드캐스트를 할당
~]# ifconfig eth0 172.31.0.23 netmask 255.255.255.224 broadcast 172.31.0.23
▼ 네트워크 인터페이스의 MTU 변경
~]# ifconfig eth0 mtu 1000
▼ 네트워크 인터페이스의 MAC 주소
~]#ifconfig eth0 hw ether AC:BE:1C:32:AE:OF