리눅스 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 주소, 넷마스크, 브로드캐스트 주소 설정, 별칭 생성, 하드웨어 주소 설정, 인터페이스를 활성화 또는 비활성화할 수 있습니다.
주로 커맨드 라인에서 네트워크 설정을 수행하는 데 사용됩니다.
~]# ifconfig -a
# 모든 네트워크 정보 표시 #
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