언제든지 라우터에 연결된 PC를 사용할 때 당신은 네트워크의 일부가 됩니다. 사무실 환경이든 단순히 집에서 작업하든 간에 컴퓨터는 네트워크에 있을 것입니다.
컴퓨터 네트워크란 무엇인가?
A computer network is defined as a group of 2 or more computers that are connected and can electronically communicate with each other. The computers are identified using their hostnames, IP, and mac addresses.
A simple home or office network is referred to as a LAN, short for Local Area Network. A LAN covers a small area such as a home, office, or restaurant network. In contrast, a WAN (Wide Area Network) spans a large geographical region. WAN is mostly used to connect various sites such as office buildings in different locations.
이 기사는 제4부의 LFCA 시리즈입니다. 이 부분에서는 일반 네트워킹 명령어를 알아보고 연결 문제를 해결하는 데 얼마나 유용한지 살펴보게 됩니다.
1. hostname 명령어
컴퓨터의 호스트 이름을 표시하는 hostname 명령어는 보통 설치 중에 설정되거나 구성됩니다. 호스트 이름을 확인하려면 다음 명령을 실행하세요:
$ hostname tecmint
2. ping 명령어
패킷 인터넷 그로퍼의 줄임말인 ping 명령어은 2개의 시스템 또는 서버 간의 연결 상태를 확인하는 데 사용됩니다. 이 명령어는 원격 호스트에 ICMP 에코 요청을 보내고 응답을 기다립니다. 호스트가 켜져 있으면 에코 요청이 원격 호스트에서 튕겨져 돌아오고 사용자에게 호스트가 켜져 있거나 사용 가능하다는 정보를 알려줍니다.
ping 명령어는 아래와 같은 구문을 사용합니다.
$ ping options IP address
예를 들어, 제 로컬 영역 네트워크의 IP가 192.168.2.103인 호스트에 핑을 보내려면 다음 명령어를 실행합니다:
$ ping 192.168.2.103 PING 192.168.0.123 (192.168.0.123) 56(84) bytes of data. 64 bytes from 192.168.2.103: icmp_seq=1 ttl=64 time=0.043 ms 64 bytes from 192.168.2.103: icmp_seq=2 ttl=64 time=0.063 ms 64 bytes from 192.168.2.103: icmp_seq=3 ttl=64 time=0.063 ms 64 bytes from 192.168.2.103: icmp_seq=4 ttl=64 time=0.061 ms 64 bytes from 192.168.2.103: icmp_seq=5 ttl=64 time=0.062 ms
ping 명령어는 ICMP 핑 패킷을 계속 보내다가 키보드의 Ctrl + C
를 눌러 중지할 때까지 계속됩니다. 그러나 -c
옵션을 사용하여 보내는 패킷 수를 제한할 수도 있습니다.
아래 예제에서는 5개의 에코 요청 패킷을 보내고 나면 ping 명령어가 중지됩니다.
$ ping 192.168.2.103 -c 5 PING 192.168.0.123 (192.168.0.123) 56(84) bytes of data. 64 bytes from 192.168.2.103: icmp_seq=1 ttl=64 time=0.044 ms 64 bytes from 192.168.2.103: icmp_seq=2 ttl=64 time=0.052 ms 64 bytes from 192.168.2.103: icmp_seq=3 ttl=64 time=0.066 ms 64 bytes from 192.168.2.103: icmp_seq=4 ttl=64 time=0.056 ms 64 bytes from 192.168.2.103: icmp_seq=5 ttl=64 time=0.066 ms --- 192.168.2.103 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4088ms rtt min/avg/max/mdev = 0.044/0.056/0.066/0.008 ms
또한 호스트나 서버의 도메인 이름에도 핑을 보낼 수 있습니다. 예를 들어, Google에 핑을 보낼 수 있습니다.
$ ping google.com PING google.com (142.250.183.78) 56(84) bytes of data. 64 bytes from bom12s12-in-f14.1e100.net (142.250.183.78): icmp_seq=1 ttl=117 time=2.86 ms 64 bytes from bom12s12-in-f14.1e100.net (142.250.183.78): icmp_seq=2 ttl=117 time=3.35 ms 64 bytes from bom12s12-in-f14.1e100.net (142.250.183.78): icmp_seq=3 ttl=117 time=2.70 ms 64 bytes from bom12s12-in-f14.1e100.net (142.250.183.78): icmp_seq=4 ttl=117 time=3.12 ms ...
또한 DNS에도 핑을 보낼 수 있습니다. 예를 들어, 구글의 주소인 8.8.8.8에 핑을 보낼 수 있습니다.
$ ping 8.8.8.8 -c 5 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=118 time=3.24 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=118 time=3.32 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=118 time=3.40 ms 64 bytes from 8.8.8.8: icmp_seq=4 ttl=118 time=3.30 ms 64 bytes from 8.8.8.8: icmp_seq=5 ttl=118 time=2.92 ms --- 8.8.8.8 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4005ms rtt min/avg/max/mdev = 2.924/3.237/3.401/0.164 ms
A failed ping test is pointed to one of the following:
- A host that is offline.
- 일반적인 네트워크 장애.
- ICMP 요청을 차단하는 방화벽의 존재.
3. traceroute 명령어
트레이스루트 명령어는 ICMP 핑 패킷이 당신의 장치에서 대상 호스트나 서버로 이동하는 경로를 표시합니다. 원격 대상에 도달하기 전에 패킷이 통과하는 장치의 IP 주소를 표시합니다.
2번째 줄에서 출력된 결과에는 왕복 중에 별표 *
가 표시됩니다. 이는 패킷이 삭제되고 응답이 받아들여지지 않았음을 나타냅니다. 이는 라우터에 의해 패킷이 삭제되었음을 보여주며, 네트워크 혼잡 등 여러 이유로 인해 그렇게 될 수 있습니다.
트레이스루트 명령어는 핑 명령어로 실패한 결과를 해결하기 위해 사용할 수 있는 멋진 진단 명령어입니다. 패킷이 삭제되는 장치를 보여줍니다.
$ traceroute google.com

4. mtr 명령어
mtr (내 트레이스루트) 명령어는 핑과 트레이스루트 명령어의 기능을 결합합니다. 각 패킷이 통과하는 호스트와 모든 네트워크 홉에 대한 응답 시간을 포함한 다양한 통계를 표시합니다.
$ mtr google.com

5. ifconfig 명령어
ifconfig 명령어는 PC에 연결된 네트워크 인터페이스와 각 인터페이스에 연결된 IP 주소, 서브넷 마스크, MTU 등과 같은 기타 통계를 나열합니다.
$ ifconfig

inet 매개변수는 네트워크 인터페이스의 IPv4 주소를 보여주고, inet6은 IPv6 주소를 가리킵니다. 인터페이스의 세부 정보를 보려면 인터페이스를 지정하여 단일 인터페이스를 표시할 수 있습니다:
$ ifconfig enp0s3

6. IP Command
인터페이스 통계를 보는 또 다른 방법은 다음과 같이 ip address 명령어를 사용하는 것입니다.
$ ip address

7. ip route Command
ip route 명령은 PC의 라우팅 테이블을 출력합니다.
$ ip route OR $ ip route show

8. dig Command
dig 유틸리티(Domain Information Groper의 약자)는 DNS 네임서버를 조사하는 명령줄 도구입니다. 도메인 이름을 인수로 취하고 호스트 주소, A 레코드, MX(메일 교환) 레코드, 네임서버 등의 정보를 표시합니다.
간단히 말해, dig 명령은 DNS 조회 유틸리티이며, 주로 시스템 관리자가 DNS 문제 해결을 위해 사용합니다.
$ dig ubuntu.com

9. nslookup Command
nslookup 유틸리티은 도메인 이름과 A 레코드를 검색하기 위해 사용되는 또 다른 명령줄 도구입니다.
$ nslookup ubuntu.com

10. netstat 명령어
netstat 명령어는 네트워크 인터페이스 통계를 출력합니다. 라우팅 테이블, 다양한 서비스가 수신 대기 중인 포트, TCP 및 UDP 연결, PID 및 UID를 표시할 수 있습니다.
PC에 연결된 네트워크 인터페이스를 표시하려면 다음을 실행하십시오:
$ netstat -i Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg enp1s0 1500 0 0 0 0 0 0 0 0 BMU lo 65536 4583 0 0 0 4583 0 0 0 LRU wlp2s0 1500 179907 0 0 0 137273 0 0 0 BMRU
라우팅 테이블을 확인하려면 표시된대로 -r
옵션을 사용하십시오.
$ netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface default _gateway 0.0.0.0 UG 0 0 0 wlp2s0 link-local 0.0.0.0 255.255.0.0 U 0 0 0 wlp2s0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 wlp2s0
활성 TCP 연결을 검사하려면 다음 명령을 실행하십시오:
$ netstat -ant

11. ss 명령어
ss 명령어는 소켓 통계를 덤프하고 netstat 명령어와 유사한 방식으로 시스템 네트워크 메트릭스를 표시하는 네트워크 도구입니다. ss 명령어는 netstat보다 빠르며 TCP 및 네트워크 통계에 대해 더 많은 정보를 표시합니다.
$ ss #list al connections $ ss -l #display listening sockets $ ss -t #display all TCP connection
요약
그것은 특히 집이나 사무실 환경에서 작은 네트워크 문제를 해결할 때 유용한 기본 네트워킹 명령어에 대한 개요였습니다. 네트워크 문제 해결 능력을 향상시키기 위해 가끔 시도해 보세요.