네트워크

리눅스 우분투(Linux Ubuntu) 네트워크 명령어 정리

다시 보는 2023. 11. 6. 23:11
728x90

ifconfig

시스템의 네트워크에 대한 전반적인 정보를 출력하고 설정을 수정할 수 있는 명령어입니다.

'if'는 만약을 뜻하는 if가 아니고 interface의 약자입니다.

 

ifconfig 명령어 출력화면

 

출력 결과의 각 항목을 아래 표에 정리했습니다.

항목 설명
eth0 네트워크 인터페이스 이름
flags 네트워크 카드의 상태
mtu Maximum Transfer Unit, 네트워크 인터페이스의 최대 전송 단위 
inet 네트워크 인터페이스에 할당된 IP 주소
netmask 네트워크 인터페이스에 할당된 넷마스크 주소
broadcast 네트워크 인터페이스에 할당된 브로드캐스트 주소
inet6 네트워크 인터페이스에 할당된 IPv6 주소
prefixlen IP 주소에서 서브넷 마스크로 사용할 비트 수
scopeid IPv6의 범위
ether 네트워크 인터페이스의 하드웨어 주소(MAC 주소)
RX packets 받은 패킷 정보
TX packets 보낸 패킷 정보
collision 충돌된 패킷 수

 

또한 ifconfig의 옵션을 아래 표에 정리했습니다.

앞에 sudo를 붙여서 관리자 권한으로 실행해야합니다.

옵션 설명
ifconfig -a 비활성화된 인터페이스를 포함한 네트워크 인터페이스 출력
ifconfig eth0 인터페이스가 너무 많다면 이름을 직접 지정해서 특정 인터페이스만 출력
ifconfig eth0 down 특정 인터페이스를 비활성화하고 싶을 때 이름을 입력하고 down을 입력
ifconfig eth0 up 비활성화된 특정 인터페이스 활성화
ifconfig eth0 10.0.1.1 특정 인터페이스의 IP 설정 변경. 입력한 IP로 변경됩니다.
ifconfig eth0 netmask 255.255.255.0 특정 인터페이스의 넷마스크 설정 변경. 입력한 넷마스크로 변경됩니다.
ifconfig eth0 broadcast 10.0.1.255 특정 인터페이스의 브로드캐스트 설정 변경. 입력한 주소로 변경됩니다.
ifconfig eth0 hw ether a8:e5:ee:43:4d:45 특정 인터페이스의 MAC주소 변경
ifconfig eth0:0 10.0.2.1 특정 인터페이스에 별칭을 추가해서 가상 인터페이스를 생성

 

다만 ifconfig 명령어로 수정한 사항은 메모리에 저장되기 때문에 서버가 재시작되면 설정이 사라집니다.

 


netstat

ifconfig가 네트워크 인터페이스에 관련한 내용이었다면, netstat은 네트워크 통계를 보여줍니다.

옵션 설명
netstat -a 모든 네트워크 상태 출력
netstat -c 현재 명령을 1초마다 실행
netstat -e 더 많은 정보 표시
netstat -r 라우팅 테이블 출력
netstat -p PID와 사용중인 프로그램 출력
netstat -t TCP 프로토콜 정보만 출력
netstat -u UDP 프로토콜 정보만 출력
netstat -n 도메인주소를 숫자로 출력
netstat -i 인터페이스 별로 입출력 패킷 통계 출력

 

각 옵션은 아래와 같이 묶어서 사용가능합니다. 

netstat -anp 

 

그리고 grep을 섞어서 원하는 조건만 볼 수도 있습니다.

netstat -anp | grep ESTABLISHED

 


ping

ICMP를 이용해 특정 호스트와 패킷을 주고 받으며 통신 상태를 체크하는 간단한 명령어입니다.

ping 뒤에 옵션을 적고 호스트를 입력해서 사용하시면 됩니다.(호스트먼저 쓰고 옵션 입력해도 괜찮습니다.)

호스트는 ip나 도메인으로 적을 수 있습니다.

옵션 설명
ping -c 10 8.8.8.8 패킷 10번 보내기. 윈도우가 기본 4번인 것과 달리, 리눅스에서는 기본적으로 무한정 보냅니다.
ping -i 2 8.8.8.8  패킷을 2초에 한 번 보내기. 기본은 1초이며 슈퍼 유저라면 0.2 이하로 설정이 가능합니다.
ping -s 10 8.8.8.8  패킷 사이즈를 10+8바이트로 설정. 기본은 56+8바이트입니다.
ping -a 8.8.8.8  패킷을 보낼 때마다 시스템 사운드를 출력합니다.
ping -h 위에 적은 옵션 이외에 다른 옵션들도 많은데, -h를 입력하면 모두 확인할 수 있습니다.

 


route

커널의 라우팅 테이블을 출력하고, 편집할 수 있는 명령어입니다.

 

route 명령어 출력화면

 

출력 항목을 아래 표로 정리했습니다.

항목 설명
Destination 목적지 네트워크 입니다.
Gateway 목적지로 가기 위한 게이트웨이 주소입니다.
Genmask 목적지 네트워크의 넷마스크 주소입니다.
Flags 해당 경로에 대한 정보를 알려주는 플래그입니다. U는 UP, H는 Host, G는 게이트웨이를 뜻합니다.
Metric 목적지 네트워크 까지의 거리를 뜻합니다.
Ref 경로의 참조횟수 입니다.
Use 경로를 탐색한 횟수 입니다.
Iface 어떤 네트워크 인터페이스 인지를 뜻합니다.

 

 


traceroute

 

혹시 설치가 안되어 있다면 아래 명령어를 입력해 설치해야 합니다.

sudo apt install traceroute

 

입력한 호스트까지의 경로 데이터를 출력하는 명령어입니다.

윈도우의 tracert와 같은 역할입니다.

 

아래와 같이 traceroute를 쓰고 뒤에 호스트와 옵션을 붙여서 사용합니다.

traceroute -m 5 8.8.8.8 

 

자주 쓰는 옵션을 아래 표에 정리했습니다.

옵션 설명
-m 5 최대 홉수를 5로 제한합니다. 기본값은 30입니다.
-w 6 결과 표시까지 기다릴 시간을 설정합니다.
50 호스트뒤에 패킷의 크기를 직접 적어서 설정할 수 있습니다. 기본은 60바이트입니다.
-f 5 5번째 홉부터 출력합니다.

 

 

단순히 traceroute를 입력하면 모든 옵션의 사용법이 출력됩니다.

traceroute 사용법

 

ICMP 차단 혹은 Timeout이 발생하면 아래와 같이 *으로 표시됩니다.

 

728x90