ifconfig
시스템의 네트워크에 대한 전반적인 정보를 출력하고 설정을 수정할 수 있는 명령어입니다.
'if'는 만약을 뜻하는 if가 아니고 interface의 약자입니다.
출력 결과의 각 항목을 아래 표에 정리했습니다.
항목 | 설명 |
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
커널의 라우팅 테이블을 출력하고, 편집할 수 있는 명령어입니다.
출력 항목을 아래 표로 정리했습니다.
항목 | 설명 |
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를 입력하면 모든 옵션의 사용법이 출력됩니다.
ICMP 차단 혹은 Timeout이 발생하면 아래와 같이 *으로 표시됩니다.
'네트워크' 카테고리의 다른 글
Baud rate와 Bit rate 차이점, 개념 정리 (1) | 2023.11.29 |
---|---|
광케이블의 종류와 쓰임새 (0) | 2023.11.28 |
URI URL URN 개념정리 (0) | 2023.11.06 |
FQDN PQDN 개념정리 (0) | 2023.11.03 |
윈도우(Windows) 네트워크 확인 명령어 정리 (1) | 2023.10.23 |