Linux 에서 네트워크 프로토콜 활성화 여부 확인 방법

LinuxBeginner
지금 연습하기

소개

이 랩에서는 Linux 에서 네트워크 프로토콜이 활성화되어 사용 중인지 확인하는 방법을 배우게 됩니다. 이를 위해 세 가지 다른 방법을 살펴볼 것입니다.

먼저, netstat -s 명령을 사용하여 TCP, UDP, ICMP 와 같은 다양한 네트워크 프로토콜에 대한 자세한 통계를 확인하고, 해당 프로토콜의 활동에 대한 통찰력을 얻을 것입니다. 다음으로, 커널 네트워크 정보를 노출하는 /proc/net 디렉토리를 조사하여 프로토콜의 존재 여부와 상태를 확인할 것입니다. 마지막으로, netstat의 현대적인 대안인 ss -s 명령을 사용하여 프로토콜 사용량 및 통계를 검사할 것입니다. 이 랩을 마치면 Linux 시스템에서 네트워크 프로토콜 활동을 진단하는 실질적인 기술을 갖추게 될 것입니다.

netstat -s 로 프로토콜 통계 확인

이 단계에서는 netstat 명령을 사용하여 네트워크 프로토콜 통계를 확인하는 방법을 살펴봅니다. netstat는 네트워크 연결, 라우팅 테이블, 인터페이스 통계, 마스커레이드 연결 및 멀티캐스트 멤버십을 표시하는 명령줄 유틸리티입니다.

netstat과 함께 -s 옵션을 사용하면 프로토콜별 통계가 표시됩니다. 이는 시스템의 네트워크 활동을 이해하고 잠재적인 네트워크 문제를 진단하는 데 매우 유용할 수 있습니다.

아직 열려 있지 않다면 터미널을 엽니다. 데스크탑 왼쪽의 Xfce Terminal 아이콘을 클릭하여 터미널을 열 수 있습니다.

이제 다음 명령을 입력하고 Enter 키를 누르십시오.

netstat -s

다음과 유사한 출력을 보게 됩니다 (정확한 숫자와 프로토콜은 시스템 활동에 따라 다를 수 있습니다).

Ip:
    Forwarding: 1
    ... (다양한 IP 통계)
Icmp:
    ... (다양한 ICMP 통계)
IcmpMsg:
    ... (다양한 ICMP 메시지 통계)
Tcp:
    Active connections openings: 123
    Passive connection openings: 45
    ... (다양한 TCP 통계)
Udp:
    InDatagrams: 678
    OutDatagrams: 901
    ... (다양한 UDP 통계)
UdpLite:
    ... (다양한 UDPLite 통계)

이 출력은 IP, ICMP, TCP 및 UDP 와 같은 다양한 네트워크 프로토콜에 대한 통계 요약을 제공합니다. 예를 들어, Tcp: 섹션에서 활성 및 수동 연결 열기 수를 볼 수 있습니다. Udp:에서 들어오고 나가는 데이터그램 수를 볼 수 있습니다.

이러한 통계를 이해하면 특정 프로토콜에 높은 트래픽 또는 오류가 발생하는지 식별하는 데 도움이 될 수 있습니다.

잠시 시간을 내어 출력을 살펴보고 어떤 프로토콜이 나열되어 있는지, 각 프로토콜에 대해 어떤 종류의 통계가 제공되는지 확인하십시오.

**Continue(계속)**를 클릭하여 다음 단계로 진행하십시오.

/proc/net 에서 프로토콜 확인

이전 단계에서는 netstat -s를 사용하여 프로토콜 통계를 확인했습니다. 이제 이 정보 중 일부가 Linux 파일 시스템에서 어디에서 오는지 살펴보겠습니다.

Linux 는 프로세스 정보와 시스템 구성 세부 정보를 포함하는 /proc라는 가상 파일 시스템을 제공합니다. /proc 내에서 /proc/net 디렉토리는 네트워크 스택에 대한 정보를 담고 있습니다.

ls 명령을 사용하여 /proc/net 디렉토리의 내용을 나열할 수 있습니다. 터미널에 다음 명령을 입력하고 Enter 키를 누르십시오.

ls /proc/net

다양한 네트워크 관련 정보를 나타내는 파일과 디렉토리 목록이 표시됩니다. 출력은 다음과 유사합니다.

arp         dev_mcast  ip_mr_vif  netlink  psched  tcp6   udp6
dev         if_inet6   ip_tables  netstat  rpc     udplite  unix
dev_snmp6   ip_mr_cache  ipv6_route  packet   route   udplite6

이러한 파일 중 다수는 네트워크 프로토콜 및 연결에 대한 자세한 정보를 포함합니다. 예를 들어:

  • tcp: 활성 TCP 연결에 대한 정보를 포함합니다.
  • udp: 활성 UDP 연결에 대한 정보를 포함합니다.
  • netstat: netstat -s가 표시하는 것과 유사한 다양한 네트워크 통계를 포함합니다.

/proc/net 내의 netstat 파일의 내용을 살펴보겠습니다. cat 명령을 사용하여 파일의 내용을 표시할 수 있습니다.

다음 명령을 입력하고 Enter 키를 누르십시오.

cat /proc/net/netstat

출력은 네트워크 통계의 원시 덤프가 됩니다. netstat -s 출력처럼 사람이 쉽게 읽을 수 있도록 형식이 지정되지 않으므로 처음에는 약간 압도적으로 보일 수 있습니다.

TcpExt: SyncookiesSent SyncookiesRecv SyncookiesFailed EmbryonicRsts PruneCalled RcvPruned OfoPruned ...
IpExt: InNoRoutes InTruncatedPkts InEZHeadroomOutMcasts InBcastPktsOutBcastPkts InOctets OutOctets ...

이 파일에는 netstat -s와 같은 도구가 처리하고 형식을 지정하는 기본 데이터가 포함되어 있습니다. /proc/net의 파일을 탐색하는 것은 고급 네트워크 문제 해결 및 커널의 네트워크 상태를 이해하는 데 유용할 수 있습니다.

지금은 이러한 파일의 존재와 내용을 관찰하는 것만으로도 네트워크 통계가 /proc 파일 시스템을 통해 노출된다는 것을 이해하기에 충분합니다.

**Continue(계속)**를 클릭하여 다음 단계로 이동하십시오.

ss -s 로 프로토콜 사용량 검사

이 단계에서는 소켓을 조사하는 유틸리티인 ss 명령을 사용합니다. 더 많은 TCP 및 상태 정보를 표시할 수 있으므로 netstat을 대체하는 것으로 간주되는 경우가 많습니다.

netstat과 마찬가지로 ss 명령에도 다양한 소켓 유형에 대한 요약 통계를 표시하는 -s 옵션이 있습니다. 이를 통해 서로 다른 프로토콜에 대한 열린 연결 및 소켓 수를 빠르게 파악할 수 있습니다.

아직 열려 있지 않다면 터미널을 엽니다.

다음 명령을 입력하고 Enter 키를 누르십시오.

ss -s

다양한 상태 및 서로 다른 프로토콜의 소켓 수를 요약하는 출력을 보게 됩니다. 출력은 다음과 유사합니다.

Total: 1234 (kernel 5678)
TCP:   90 (estab 50, closed 20, orphaned 5, synrecv 3, timewait 10, ...)
UDP:   15
RAW:   0
UNK:   0

TCP:
ESTAB      50
TIME-WAIT  10
... (other TCP states)

출력을 분석해 보겠습니다.

  • Total: 총 소켓 수를 표시합니다.
  • TCP: 총 수와 estab(established, 설정됨), closed(닫힘), timewait 등과 같은 다양한 상태에 대한 수를 포함하여 TCP 소켓의 요약을 제공합니다.
  • UDP: 총 UDP 소켓 수를 표시합니다.
  • RAW: 총 raw 소켓 수를 표시합니다.
  • UNK: 알 수 없는 소켓 유형의 수를 표시합니다.

요약 줄 아래에서 ss -s는 종종 TCP 상태에 대한 보다 자세한 분석을 제공합니다.

netstat -sss -s의 출력을 비교하면 ss -s가 소켓 상태에 더 집중한다는 것을 알 수 있으며, 이는 연결 문제를 진단하는 데 매우 유용할 수 있습니다. 예를 들어, TIME-WAIT 상태의 소켓이 많으면 연결을 효율적으로 닫는 데 문제가 있음을 나타낼 수 있습니다.

ss -s를 사용하면 netstat -s와 비교하여 네트워크 활동에 대한 또 다른 관점을 얻을 수 있습니다. 두 명령 모두 Linux 에서 네트워크 모니터링 및 문제 해결을 위한 유용한 도구입니다.

이제 netstat -s를 사용하는 방법, /proc/net을 탐색하는 방법, ss -s를 사용하여 네트워크 프로토콜 통계를 검사하는 방법을 배웠습니다. 이는 Linux 시스템에서 네트워크 활동을 이해하기 위한 기본적인 기술입니다.

**Continue(계속)**를 클릭하여 이 랩을 완료하십시오.

요약

이 랩에서는 네트워크 통계 및 시스템 파일을 검사하여 Linux 에서 네트워크 프로토콜이 활성화되어 있는지 확인하는 방법을 배웠습니다. 먼저 netstat -s 명령을 사용하여 IP, ICMP, TCP 및 UDP 와 같은 다양한 네트워크 프로토콜에 대한 프로토콜별 통계를 표시하여 네트워크 활동을 이해하고 문제를 진단하는 데 도움을 받았습니다. 그런 다음 커널의 네트워크 상태를 보여주는 /proc/net 디렉토리 내의 파일을 검사하여 프로토콜 정보를 확인하는 방법을 살펴보았습니다. 마지막으로, ss -s 명령을 사용하여 프로토콜 사용량을 검사하여 서로 다른 프로토콜에 대한 요약된 통계를 볼 수 있는 또 다른 방법을 제공했습니다. 이러한 방법은 Linux 시스템에서 활성 상태인 네트워크 프로토콜에 대한 귀중한 통찰력을 제공합니다.