리눅스 netstat 명령어, ifconfig 명령어

리눅스에 netstat 명령어 및 ifconfig 명령어를 실행하기 위해 리눅스 서버에 명령어 실행을 위한 net-tools이 설치되어 있어야 합니다.

  • net-tools
  • netstat 명령어, ifconfig 명령어
  • 네트워크 명령어

✅ 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   -                
  • Proto: 프로토콜 종류
  • Recv-Q: process가 받고 있는 바이트 값
  • Send-Q: process가 현재 보내는 바이트 값
  • Local Address: 출발지 주소 및 포트 번호
  • Local Address에서 IP 상태가 0.0.0.0.0으로 되어 있다면 모든 접속이 허용된 상태이며, 127.0.0.1로 되어있다면 loopback(돌아오다) IP로 자기 자신만 호출이 가능한 상태.
  • Foreign Address: 목적지 주소 및 포트
  • PID/Program name: 프로세스 및 프로그램 이름
  • State: 포트의 상태 값
  • LISTEN: 대기 포트. 포트가 열려 있음.
  • CLOSED: 완전히 연결이 종료된 상태
  • CLOSE_WAIT: 원격의 연결 요청을 받고 연결 종료 대기 상태
  • CLOSING:
  • ESTABLISHED: 서로 연결된 상태(연결 완료)
  • TIME_WAIT: 이미 해당 사이트와 연결이 종료되었거나 다음 연결을 위한 대기 상태
  • FIN_WAIT1:
  • FIN_WAIT2:
  •  LAST_ACK: 연결 종료 및 승인을 기다리는 상태
  • UNKNOWN:
~]# 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 명령어
enp0s3 (이더넷 인터페이스)lo (루프백 인터페이스)

항목

설명

inet 127.0.0.1

루프백용 IPv4 주소

netmask 255.0.0.0

루프백용 서브넷 마스크

inet6 ::1

루프백용 IPv6 주소

loop

장치 타입이 루프백임을 나타냄

RX/TX packets 0

루프백을 통한 데이터 송수신 수

RX/TX bytes 0

송수신된 바이트 수

errors, dropped 등

루프백 인터페이스의 오류 상태

항목

설명

flags=4163<…>

인터페이스 상태 및 기능 (UP, BROADCAST 등)

mtu 1500

Maximum Transmission Unit, 최대 전송 단위

inet 192.168.45.200

IPv4 주소

netmask 255.255.255.0

서브넷 마스크

broadcast 192.168.45.255

브로드캐스트 주소

inet6 …

IPv6 주소

ether 08:00:27:71:ab:2c

MAC 주소 (물리적 주소)

txqueuelen 1000

송신 대기열 길이

RX packets 1420

수신한 패킷 수

RX bytes 462896

수신한 총 바이트 수

RX errors 0

수신 중 발생한 오류 수

TX packets 1057

전송한 패킷 수

TX bytes 121642

전송한 총 바이트 수

TX errors 0

전송 중 발생한 오류 수

dropped, overruns, collisions

네트워크 전송 중 발생한 문제들

🔲 이더넷, 루프백 인터페이스 비교

구분

이더넷 인터페이스 (예: enp0s3)

루프백 인터페이스 (예: lo)

역할

실제 네트워크 통신 (외부와 데이터 송수신)

자기 자신과의 통신 테스트

IP 주소

DHCP 또는 수동으로 할당된 외부용 IP (예: 192.168.x.x)

고정된 내부 IP (127.0.0.1, ::1)

용도

인터넷, 로컬 네트워크 등 외부 장치와 통신

시스템 내부 테스트, 애플리케이션 간 통신

물리적 장치

실제 NIC(Network Interface Card)

없음 (가상 인터페이스)

전형적인 사용 예

웹 서버, SSH 접속 등 외부 서비스

ping 127.0.0.1, DB서버 로컬 접속 등

주로 커맨드 라인에서 네트워크 설정을 수행하는 데 사용됩니다.

# 모든 네트워크 정보 표시 #         
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

Similar Posts

  • 리눅스 cd 명령어

    cd 명령어는 “Change Directory”의 약자로, 현재 작업 디렉토리(현재 위치)를 다른 디렉토리로 이동할 때 사용하는 명령어입니다. 목차✅ net-tools 설치✅ netstat 명령어◼ netstat 명령어 옵션◼ netstat 실행 및 설명✅ ifconfig 명령어🔲 이더넷, 루프백 인터페이스 비교✅ cd 명령어 기본 사용 방법 ✅ 사용 예시 cd 명령은 절대 경로(/부터 시작)를 기입해서 이동하는 방식과 상대 경로(. 및 ..)를…

  • [Shell 특수문자] 리눅스 와일드카드(메타문자)

    리눅스 와일드카드는 Shell 특수문자로 메타 문자로 불리기도 합니다. Shell 특수 기호 중 와일드카드(글로빙으로 부르기도 함)는 문자 패턴에 따라 파일명을 선택할 수 있습니다. 특수 문자에는 인용(따옴표) 기호, 리눅스 다중 명령어, 리눅스 히스토리 기호, 리눅스 디렉토리 기호, 리눅스 괄호 기호 및 입출력 리다이렉션 등 다양하게 있습니다. 목차✅ net-tools 설치✅ netstat 명령어◼ netstat 명령어 옵션◼ netstat…

  • 리눅스 명령어 13가지 카테고리 분류&시스템의 이해

    리눅스의 명령줄 인터페이스(Command Line Interface, CLI)는 컴퓨터 프로그램 및 운영체제와 상호 작용하기 위한 텍스트 기반의 사용자 인터페이스입니다. 리눅스 명령어는 유닉스 계열 운영체제어서 거의 동일하게 작동하며, 명령어를 입력해서 파일의 생성, 수정, 복사 이동 및 서버 전반에 걸친 관리를 하게 됩니다. 명령어를 카테고리로 분류하지만 틀릴 수 있는 점을 참고하여 주시기 바랍니다. 목차✅ net-tools 설치✅ netstat…

  • 리눅스 Rsync 명령어

    Rsync (Remote Sync) 는 네트워크를 통해 파일과 디렉터리를 효율적으로 동기화하는 백업 방식입니다. 전체 데이터를 매번 복사하는 대신 변경된 부분만 증분 방식으로 전송하여 빠르고 안정적인 동기화를 지원합니다. 또한 다양한 옵션을 통해 압축, 암호화, 권한 유지, 삭제 동기화 등 세밀한 제어가 가능하며, 백업과 서버 간 데이터 전송에 널리 사용됩니다. 특히 네트워크 대역폭을 절약하고, 재 전송…

  • echo 명령어: From 확장과 인용

    echo 명령어는 문자열을 그대로 출력해 주는 명령어이다. echo 명령어는 프롬프트에서 사용하는 일은 거의 없으며, 쉘 스크립트 작성 시에 자주 사용하는 명령어이다. 표준 출력 상에 해당 텍스트 인자를 표시한다. 목차✅ net-tools 설치✅ netstat 명령어◼ netstat 명령어 옵션◼ netstat 실행 및 설명✅ ifconfig 명령어🔲 이더넷, 루프백 인터페이스 비교1. echo 명령어 옵션 2. echo $ $뒤에…

  • 리눅스 심볼릭 링크(Symbolic Link)와 하드 링크(Hard Link)

    리눅스에서 사용하는 심볼릭 링크(Symbolic Link)는 윈도우에서 사용하는 “바로가기”와 같은 기능을 가지고 있습니다. 소프트 링크 or 심링크로도 불리며, 하나의 파일에 여러 이름으로 생성할 수 있습니다. 목차✅ net-tools 설치✅ netstat 명령어◼ netstat 명령어 옵션◼ netstat 실행 및 설명✅ ifconfig 명령어🔲 이더넷, 루프백 인터페이스 비교✅ 심볼릭 링크 하드 링크 명령어 [-s 옵션]은 Symbolic Link를 만들어 주는…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 7   +   9   =