리눅스 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 주소 (물리적 주소) |
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_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