Linux Network Commands

네트워크 관리 및 문제 해결을 위해 사용되는 Linux 네트워크 관련 명령어들을 상세히 설명해드리겠습니다.

1. ifconfig

ifconfig는 네트워크 인터페이스의 설정 및 상태를 표시하고, 설정을 변경하는 데 사용됩니다.

  • 사용법:
  • ifconfig: 모든 네트워크 인터페이스의 상태를 출력.
  • ifconfig eth0: 특정 인터페이스(예: eth0)의 상태를 출력.
  • ifconfig eth0 up: 인터페이스를 활성화.
  • ifconfig eth0 down: 인터페이스를 비활성화.
  • ifconfig eth0 192.168.1.100 netmask 255.255.255.0: 특정 IP 주소 및 넷마스크를 설정.

2. ip

ip는 네트워크 인터페이스, 라우팅 테이블, DNS 설정 등을 관리하는 강력한 명령어입니다.

  • 사용법:
  • ip addr show: 모든 인터페이스의 IP 주소 정보를 표시.
  • ip link show: 네트워크 링크(인터페이스) 상태를 표시.
  • ip route show: 라우팅 테이블을 표시.
  • ip addr add 192.168.1.100/24 dev eth0: 특정 인터페이스에 IP 주소 추가.
  • ip link set eth0 up: 인터페이스를 활성화.
  • ip link set eth0 down: 인터페이스를 비활성화.

3. ping

네트워크 연결 상태를 확인하기 위해 지정한 호스트에 ICMP 패킷을 보내는 명령어입니다.

  • 사용법:
  • ping google.com: 지정한 호스트(google.com)에 핑을 보내 응답을 확인.
  • ping -c 4 google.com: 4번의 핑을 보내고 결과를 출력.

4. traceroute

패킷이 목적지에 도달하는 경로를 추적하여 네트워크 경로를 분석하는 명령어입니다.

  • 사용법:
  • traceroute google.com: google.com까지의 경로를 추적.
  • traceroute -n google.com: 도메인 이름 대신 IP 주소를 숫자로 표시.

5. netstat

네트워크 연결, 라우팅 테이블, 인터페이스 통계 등을 표시하는 명령어입니다.

  • 사용법:
  • netstat -a: 모든 네트워크 연결을 표시.
  • netstat -tuln: 리스닝 상태의 TCP 및 UDP 포트를 표시.
  • netstat -r: 라우팅 테이블을 표시.
  • netstat -i: 네트워크 인터페이스 통계를 표시.

6. ss

소켓 통계를 표시하는 명령어로, netstat의 대체 명령어입니다.

  • 사용법:
  • ss -tuln: 리스닝 상태의 TCP 및 UDP 소켓을 표시.
  • ss -s: 소켓 통계 요약을 표시.
  • ss -p: 각 소켓에 연결된 프로세스를 표시.

7. route

커널의 IP 라우팅 테이블을 표시하거나 수정하는 명령어입니다.

  • 사용법:
  • route -n: 숫자로 된 라우팅 테이블을 표시.
  • route add default gw 192.168.1.1: 기본 게이트웨이를 추가.
  • route del default gw 192.168.1.1: 기본 게이트웨이를 삭제.

8. dig

DNS 질의를 수행하여 도메인 이름에 대한 정보를 얻는 명령어입니다.

  • 사용법:
  • dig google.com: google.com의 DNS 정보를 조회.
  • dig +short google.com: 간략한 형식으로 결과를 출력.
  • dig google.com MX: 특정 레코드 타입(MX 레코드)을 조회.

9. nslookup

DNS 질의를 수행하여 도메인 이름에 대한 정보를 얻는 명령어입니다.

  • 사용법:
  • nslookup google.com: google.com의 DNS 정보를 조회.
  • nslookup: 대화형 모드로 전환하여 여러 질의를 수행 가능.

10. arp

시스템의 ARP(주소 해석 프로토콜) 캐시를 표시하고 조작하는 명령어입니다.

  • 사용법:
  • arp -a: 모든 ARP 캐시 항목을 표시.
  • arp -d 192.168.1.1: 특정 IP 주소의 ARP 항목을 삭제.
  • arp -s 192.168.1.1 00:11:22:33:44:55: 특정 IP와 MAC 주소의 ARP 항목을 수동으로 추가.

11. hostname

시스템의 호스트 이름을 표시하거나 설정하는 명령어입니다.

  • 사용법:
  • hostname: 현재 호스트 이름을 표시.
  • hostname new-hostname: 호스트 이름을 new-hostname으로 설정.

12. curl

지정한 URL로부터 데이터를 전송하거나 받아오는 명령어입니다.

  • 사용법:
  • curl http://example.com: example.com의 내용을 출력.
  • curl -O http://example.com/file.zip: URL의 파일을 다운로드.
  • curl -I http://example.com: URL의 헤더 정보를 출력.

13. wget

네트워크를 통해 파일을 다운로드하는 명령어입니다.

  • 사용법:
  • wget http://example.com/file.zip: URL의 파일을 다운로드.
  • wget -r http://example.com: URL의 사이트를 재귀적으로 다운로드.

14. tcpdump

네트워크 인터페이스에서 트래픽을 캡처하고 분석하는 명령어입니다.

  • 사용법:
  • tcpdump -i eth0: eth0 인터페이스의 패킷을 캡처.
  • tcpdump -c 10: 10개의 패킷을 캡처 후 종료.
  • tcpdump -w file.pcap: 패킷을 파일에 저장.

15. iftop

네트워크 인터페이스를 통해 송수신되는 트래픽을 실시간으로 모니터링하는 명령어입니다.

  • 사용법:
  • iftop: 기본 인터페이스의 트래픽을 실시간으로 모니터링.
  • iftop -i eth0: 특정 인터페이스(eth0)의 트래픽을 실시간으로 모니터링.

이 명령어들은 네트워크 설정, 진단, 모니터링, 문제 해결 등을 수행하는 데 매우 유용하며, 각 명령어에는 다양한 옵션이 있어 상황에 맞게 사용 가능합니다.

Leave a Reply

Your email address will not be published. Required fields are marked *