본문 바로가기

Server/Linux

[Linux] 네트워크 모니터링을 위한 리눅스 명령어_Layer-3 (Network Layer)

반응형

 

네트워크 모니터링을 위한 리눅스 명령어_Layer-3 (Network Layer)

 

1. traceroute : 네트워크 경로 추적

 

traceroute는 네트워크 경로를 추적하는 명령어로, 목적지까지 패킷이 어떻게 이동하는지를 보여줍니다. 이 명령어는 리눅스와 다른 유닉스 기반 시스템에서 사용할 수 있습니다. 아래는 기본적인 사용법과 예제입니다.

 

$ traceroute [옵션] [도메인 또는 IP 주소]

 

일반적으로 사용되는 몇 가지 옵션은 다음과 같습니다:

 

-n: IP 주소를 숫자로 표시하고, 도메인 이름을 해석하지 않습니다.
-q: 각 TTL(Time To Live) 값에 대해 보낼 패킷 수를 지정합니다.
-m: 시작 TTL 값을 설정합니다.
-w: 각 패킷을 보내고 기다리는 최대 시간(초)을 설정합니다.


예를 들어, 구글의 공개 DNS 서버인 8.8.8.8로의 경로를 추적하려면 다음과 같이 사용할 수 있습니다:

 

$ traceroute 8.8.8.8

 

이 명령은 네트워크에서 패킷이 목적지로 이동하는 과정을 보여주며, 각 라우터의 IP 주소와 응답 시간을 표시합니다.

 

 

2. ping : 네트워크 상태 확인

 

ping은 네트워크 상태를 확인하고 목적지 호스트에 대한 응답 시간을 측정하기 위해 사용되는 유용한 명령어입니다. 기본적으로 ping은 ICMP (Internet Control Message Protocol) 에코 요청을 보내고, 호스트가 이를 응답함으로써 네트워크 연결의 동작 여부를 확인합니다.

기본 사용법은 다음과 같습니다:

 

$ ping [옵션] [도메인 또는 IP 주소]

 

일반적으로 사용되는 몇 가지 옵션은 다음과 같습니다:

-c: 보낼 패킷의 개수를 지정합니다.
-i: 패킷 간의 간격을 설정합니다.
-s: 보낼 패킷의 크기를 설정합니다.

 

예를 들어, 구글의 공개 DNS 서버인 8.8.8.8에 대해 4개의 패킷을 보내고 응답 시간을 확인하려면 다음과 같이 사용할 수 있습니다:

 

$ ping -c 4 8.8.8.8

 

ping은 네트워크 문제를 신속하게 식별하고 해결하는 데 도움이 되는 도구 중 하나입니다. 결과에는 각 패킷의 응답 시간, 손실률 및 기타 관련 정보가 표시됩니다.

 

 

3. mtr : 네트워크 경로를 추적하 각 라우터까지의 응답 시간 확인

 

mtr은 traceroute와 ping의 기능을 결합한 도구로, 네트워크 경로를 추적하면서 각 라우터까지의 응답 시간을 실시간으로 보여줍니다. mtr은 My TraceRoute의 약자로, 매우 강력하고 진단에 유용한 명령어입니다.

기본적인 사용법은 다음과 같습니다:

 

$ mtr [도메인 또는 IP 주소]

 

mtr은 실행되면서 지속적으로 네트워크 경로를 추적하며, 각 라우터까지의 응답 시간 및 패킷 손실률 등을 실시간으로 업데이트하여 화면에 표시합니다. 화면에서 Ctrl+C를 누르면 실행이 중지됩니다.

예를 들어, 구글의 공개 DNS 서버인 8.8.8.8에 대한 mtr을 실행하려면 다음과 같이 사용할 수 있습니다:

 

$ mtr 8.8.8.8

 

mtr은 네트워크 문제를 찾고 해결하는 데 도움이 되며, 특히 특정 라우터에서의 문제나 응답 지연을 더 자세히 파악할 수 있습니다.

 

 

4. iftop : 네트워크 트래픽 실시간 모니터링

 

iftop은 네트워크 트래픽을 실시간으로 모니터링하는 도구로, 현재 열린 연결 및 각 연결의 전송 및 수신 속도를 보여줍니다. 이를 통해 시스템에서 어떤 프로세스가 얼마나 많은 네트워크 대역폭을 사용하고 있는지 확인할 수 있습니다.

기본적인 사용법은 다음과 같습니다:

 

$ iftop

 

iftop은 텍스트 기반으로 실행되며, 실시간으로 각 연결의 정보를 업데이트하면서 보여줍니다. 인터페이스의 상단에는 전체 트래픽 및 전송/수신 속도가 표시되고, 그 아래에는 각 연결의 세부 정보가 표시됩니다. 화면에서 q 키를 누르면 iftop이 종료됩니다.

iftop은 시스템에 설치되어 있어야 사용할 수 있습니다. 설치되어 있지 않다면 시스템 패키지 관리자를 사용하여 설치할 수 있습니다. 아래는 몇 가지 예시입니다:

 

Ubuntu 및 Debian 기반 시스템:

 

$ sudo apt-get install iftop

 

Red Hat 및 CentOS 기반 시스템:

 

$ sudo yum install iftop

 

iftop은 네트워크 트래픽을 모니터링하는 데 유용하며, 시스템에서 어떤 프로세스가 대역폭을 사용하고 있는지 신속하게 파악할 수 있습니다.

 

 

5. ip addr : 네트워크 인터페이스 정보 확인

 

ip addr 명령어는 Linux 시스템에서 네트워크 인터페이스의 IP 주소 및 관련된 정보를 표시하는 데 사용됩니다. 이 명령어는 네트워크 인터페이스, IP 주소, 서브넷 마스크, 브로드캐스트 주소 등의 정보를 제공합니다.

기본적인 사용법은 다음과 같습니다:

 

$ ip addr

 

이 명령을 실행하면 시스템의 모든 네트워크 인터페이스에 대한 정보가 표시됩니다. 예를 들어, "eth0"라는 인터페이스의 정보를 특정하려면 다음과 같이 사용할 수 있습니다:

 

$ ip addr show eth0

 

또는 축약된 버전으로:

 

$ ip a s eth0

 

ip addr 명령은 각 인터페이스의 상태, MAC 주소, IP 주소, 서브넷 마스크, 브로드캐스트 주소 등의 세부 정보를 보여줍니다. 이 정보는 네트워크 설정 및 문제 해결 시 유용하게 활용됩니다.

 

 

6. ip -s route : 라우팅 테이블 정보 확인

 

ip -s route 명령어는 Linux 시스템에서 라우팅 테이블의 통계 및 세부 정보를 제공합니다. 이 명령은 라우팅 정보와 관련된 다양한 통계 데이터를 보여줍니다.

기본적인 사용법은 다음과 같습니다:

 

$ ip -s route

 

이 명령을 실행하면 라우팅 테이블에 대한 통계 정보가 표시됩니다. 표시되는 정보에는 라우팅 항목의 수, 패킷 및 바이트의 통계, 다양한 유형의 라우팅 엔트리(로컬, 디폴트 게이트웨이 등) 등이 포함됩니다.

추가적으로, 특정 네트워크 인터페이스에 대한 라우팅 테이블 정보를 확인하려면 해당 인터페이스의 이름을 명시하여 다음과 같이 실행할 수 있습니다:

 

$ ip -s route show dev [인터페이스 이름]

 

예를 들어, "eth0" 인터페이스의 라우팅 테이블 정보를 확인하려면 다음과 같이 사용할 수 있습니다:

 

$ ip -s route show dev eth0

 

ip -s route 명령어는 라우팅 및 네트워크 통계 정보를 제공하여 네트워크 구성 및 문제 해결에 도움이 됩니다.

 

 

7. nethog : 네트워크 사용량을 프로세스별로 실시간 모니터링

 

nethogs는 네트워크 사용량을 프로세스별로 실시간으로 모니터링하는 도구입니다. 특정 프로세스가 얼마나 많은 대역폭을 사용하고 있는지를 확인할 때 유용합니다.

기본적인 사용법은 다음과 같습니다:

 

$ sudo nethogs

 

이 명령을 실행하면 현재 실행 중인 모든 프로세스의 네트워크 사용량이 실시간으로 업데이트되어 표시됩니다. sudo 권한이 필요하므로 관리자 권한으로 실행해야 합니다.

추가적으로, 특정 네트워크 인터페이스에 대한 사용량을 확인하려면 해당 인터페이스의 이름을 명시하여 다음과 같이 실행할 수 있습니다:

 

$ sudo nethogs [인터페이스 이름]

 

예를 들어, "eth0" 인터페이스의 네트워크 사용량을 확인하려면 다음과 같이 사용할 수 있습니다:

 

$ sudo nethogs eth0

 

nethogs는 각 프로세스의 송수신 대역폭을 실시간으로 보여주며, 프로세스의 PID (프로세스 식별자)와 사용자, 그리고 어떤 호스트와 통신하고 있는지를 표시합니다. 이를 통해 네트워크 사용량이 많은 프로세스를 신속하게 확인할 수 있습니다.

 

 

반응형