웹사이트 검색

22가지 시스템 관리자용 Linux 네트워킹 명령


시스템 관리자의 일상적인 작업에는 데이터 센터 내의 서버와 네트워크 구성, 유지 관리, 문제 해결 및 관리가 포함됩니다. Linux에는 관리 목적으로 설계된 수많은 도구와 유틸리티가 있습니다.

이 기사에서는 다양한 범주에서 Linux의 네트워크 관리에 가장 많이 사용되는 명령줄 도구 및 유틸리티 중 일부를 검토합니다. Linux에서 네트워크 관리를 훨씬 쉽게 만들어주는 몇 가지 일반적인 사용 예를 설명하겠습니다.

이 페이지에서

  • ifconfig 명령
  • IP 명령
  • ifup 명령
  • ethtool 명령
  • 핑 명령
  • Traceroute 명령
  • mtr 명령
  • 경로 명령
  • nmcli 명령
  • netstat 명령
  • ss 명령
  • NC 명령
  • nmap 명령
  • 호스트 명령
  • 발굴 명령
  • nslookup 명령
  • tcpdump 명령
  • Wireshark 유틸리티
  • bmon 도구
  • iptables 방화벽
  • 방화벽
  • UFW 방화벽

이 목록은 정규 Linux 네트워크 엔지니어에게도 똑같이 유용합니다.

네트워크 구성, 문제 해결 및 디버깅 도구

1. ifconfig 명령

ifconfig는 네트워크 인터페이스 구성을 위한 명령줄 인터페이스 도구이며 시스템 부팅 시 인터페이스를 초기화하는 데에도 사용됩니다. 서버가 가동되고 실행되면 이를 사용하여 인터페이스에 IP 주소를 할당하고 요청 시 인터페이스를 활성화하거나 비활성화할 수 있습니다.

또한 현재 활성 인터페이스의 IP 주소, 하드웨어/MAC 주소 및 MTU(최대 전송 단위) 크기를 보는 데에도 사용됩니다. 따라서 ifconfig는 시스템 조정을 디버깅하거나 수행하는 데 유용합니다.

다음은 모든 활성 네트워크 인터페이스의 상태를 표시하는 예입니다.

ifconfig

enp1s0    Link encap:Ethernet  HWaddr 28:d2:44:eb:bd:98  
          inet addr:192.168.0.103  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::8f0c:7825:8057:5eec/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:169854 errors:0 dropped:0 overruns:0 frame:0
          TX packets:125995 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:174146270 (174.1 MB)  TX bytes:21062129 (21.0 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:15793 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15793 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:2898946 (2.8 MB)  TX bytes:2898946 (2.8 MB)

up이든 down이든 현재 사용 가능한 모든 인터페이스를 나열하려면 -a 플래그를 사용하세요.

ifconfig -a 	

인터페이스에 IP 주소를 할당하려면 다음 명령을 사용하십시오.

sudo ifconfig eth0 192.168.56.5 netmask 255.255.255.0

네트워크 인터페이스를 활성화하려면 다음을 입력하십시오.

sudo ifconfig up eth0

네트워크 인터페이스를 비활성화하거나 종료하려면 다음을 입력하십시오.

sudo ifconfig down eth0

참고: ifconfig는 훌륭한 도구이지만 이제 더 이상 사용되지 않으며(더 이상 사용되지 않음) ip 명령으로 대체됩니다. Strong> 아래에 설명되어 있습니다.

2. IP 명령

ip 명령은 라우팅, 네트워크 장치, 인터페이스를 표시하고 조작하는 데 유용한 또 다른 명령줄 유틸리티입니다. 이는 ifconfig 및 기타 여러 네트워킹 명령을 대체합니다. (자세한 내용은 "ifconfig와 ip 명령의 차이점" 기사를 참조하세요.)

다음 명령은 IP 주소와 네트워크 인터페이스에 대한 기타 정보를 표시합니다.

ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 28:d2:44:eb:bd:98 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.103/24 brd 192.168.0.255 scope global dynamic enp1s0
       valid_lft 5772sec preferred_lft 5772sec
    inet6 fe80::8f0c:7825:8057:5eec/64 scope link 
       valid_lft forever preferred_lft forever
3: wlp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 38:b1:db:7c:78:c7 brd ff:ff:ff:ff:ff:ff
...

특정 네트워크 인터페이스(eth0)에 IP 주소를 임시로 할당하려면 다음을 입력합니다.

sudo ip addr add 192.168.56.1 dev eth0

네트워크 인터페이스(eth0)에서 할당된 IP 주소를 제거하려면 다음을 입력합니다.

sudo ip addr del 192.168.56.15/24 dev eth0

커널에 현재 인접 테이블을 표시하려면 다음을 입력하십시오.

ip neigh

192.168.0.1 dev enp1s0 lladdr 10:fe:ed:3d:f3:82 REACHABLE

3. ifup, ifdown 및 ifquery 명령

ifup 명령은 네트워크 인터페이스를 활성화하여 데이터 전송 및 수신을 가능하게 합니다.

sudo ifup eth0

ifdown 명령은 네트워크 인터페이스를 비활성화하여 데이터를 전송하거나 수신할 수 없는 상태로 유지합니다.

sudo ifdown eth0

ifquery 명령은 네트워크 인터페이스 구성을 구문 분석하는 데 사용되며, 이를 통해 현재 구성 방식에 대한 쿼리에 대한 응답을 받을 수 있습니다.

sudo ifquery eth0

4. Ethtool 명령

ethtool은 네트워크 인터페이스 컨트롤러 매개변수와 장치 드라이버를 쿼리하고 수정하기 위한 명령줄 유틸리티입니다. 아래 예에서는 ethtool의 사용법과 네트워크 인터페이스의 매개변수를 보는 명령을 보여줍니다.

sudo ethtool enp0s3

Settings for enp0s3:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Speed: 1000Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: off (auto)
	Supports Wake-on: umbg
	Wake-on: d
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes

5. 핑 명령

ping(Packet INternet Groper)은 일반적으로 네트워크(Local Area Network(LAN) 또는 <에 있는 두 시스템 간의 연결을 테스트하는 데 사용되는 유틸리티입니다. Strong>광역 네트워크(WAN)). ICMP(인터넷 제어 메시지 프로토콜)를 사용하여 네트워크의 노드와 통신합니다.

예를 들어 다른 노드에 대한 연결을 테스트하려면 해당 노드의 IP나 호스트 이름을 제공하기만 하면 됩니다.

ping 192.168.0.103

PING 192.168.0.103 (192.168.0.103) 56(84) bytes of data.
64 bytes from 192.168.0.103: icmp_seq=1 ttl=64 time=0.191 ms
64 bytes from 192.168.0.103: icmp_seq=2 ttl=64 time=0.156 ms
64 bytes from 192.168.0.103: icmp_seq=3 ttl=64 time=0.179 ms
64 bytes from 192.168.0.103: icmp_seq=4 ttl=64 time=0.182 ms
64 bytes from 192.168.0.103: icmp_seq=5 ttl=64 time=0.207 ms
64 bytes from 192.168.0.103: icmp_seq=6 ttl=64 time=0.157 ms
^C
--- 192.168.0.103 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5099ms
rtt min/avg/max/mdev = 0.156/0.178/0.207/0.023 ms

또한 표시된 대로 -c 플래그를 사용하여 지정된 수의 ECHO_REQUEST 패킷 후에 ping이 종료되도록 지시할 수도 있습니다.

ping -c 4 192.168.0.103

PING 192.168.0.103 (192.168.0.103) 56(84) bytes of data.
64 bytes from 192.168.0.103: icmp_seq=1 ttl=64 time=1.09 ms
64 bytes from 192.168.0.103: icmp_seq=2 ttl=64 time=0.157 ms
64 bytes from 192.168.0.103: icmp_seq=3 ttl=64 time=0.163 ms
64 bytes from 192.168.0.103: icmp_seq=4 ttl=64 time=0.190 ms

--- 192.168.0.103 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3029ms
rtt min/avg/max/mdev = 0.157/0.402/1.098/0.402 ms

6. 경로 추적 명령

Traceroute는 로컬 시스템에서 다른 네트워크 시스템까지의 전체 경로를 추적하기 위한 명령줄 유틸리티입니다. 최종 서버에 도달하기 위해 이동하는 경로의 홉(라우터 IP) 수를 인쇄합니다. ping 명령 후에 사용하기 쉬운 네트워크 문제 해결 유틸리티입니다.

이 예에서는 로컬 시스템에서 IP 주소가 216.58.204.46인 Google 서버 중 하나로 이동하는 경로 패킷을 추적합니다.

traceroute 216.58.204.46

traceroute to 216.58.204.46 (216.58.204.46), 30 hops max, 60 byte packets
 1  gateway (192.168.0.1)  0.487 ms  0.277 ms  0.269 ms
 2  5.5.5.215 (5.5.5.215)  1.846 ms  1.631 ms  1.553 ms
 3  * * *
 4  72.14.194.226 (72.14.194.226)  3.762 ms  3.683 ms  3.577 ms
 5  108.170.248.179 (108.170.248.179)  4.666 ms 108.170.248.162 (108.170.248.162)  4.869 ms 108.170.248.194 (108.170.248.194)  4.245 ms
 6  72.14.235.133 (72.14.235.133)  72.443 ms 209.85.241.175 (209.85.241.175)  62.738 ms 72.14.235.133 (72.14.235.133)  65.809 ms
 7  66.249.94.140 (66.249.94.140)  128.726 ms  127.506 ms 209.85.248.5 (209.85.248.5)  127.330 ms
 8  74.125.251.181 (74.125.251.181)  127.219 ms 108.170.236.124 (108.170.236.124)  212.544 ms 74.125.251.181 (74.125.251.181)  127.249 ms
 9  216.239.49.134 (216.239.49.134)  236.906 ms 209.85.242.80 (209.85.242.80)  254.810 ms  254.735 ms
10  209.85.251.138 (209.85.251.138)  252.002 ms 216.239.43.227 (216.239.43.227)  251.975 ms 209.85.242.80 (209.85.242.80)  236.343 ms
11  216.239.43.227 (216.239.43.227)  251.452 ms 72.14.234.8 (72.14.234.8)  279.650 ms  277.492 ms
12  209.85.250.9 (209.85.250.9)  274.521 ms  274.450 ms 209.85.253.249 (209.85.253.249)  270.558 ms
13  209.85.250.9 (209.85.250.9)  269.147 ms 209.85.254.244 (209.85.254.244)  347.046 ms 209.85.250.9 (209.85.250.9)  285.265 ms
14  64.233.175.112 (64.233.175.112)  344.852 ms 216.239.57.236 (216.239.57.236)  343.786 ms 64.233.175.112 (64.233.175.112)  345.273 ms
15  108.170.246.129 (108.170.246.129)  345.054 ms  345.342 ms 64.233.175.112 (64.233.175.112)  343.706 ms
16  108.170.238.119 (108.170.238.119)  345.610 ms 108.170.246.161 (108.170.246.161)  344.726 ms 108.170.238.117 (108.170.238.117)  345.536 ms
17  lhr25s12-in-f46.1e100.net (216.58.204.46)  345.382 ms  345.031 ms  344.884 ms

7. MTR 네트워크 진단 도구

MTR은 pingtraceroute 기능을 단일 진단 도구로 결합한 최신 명령줄 네트워크 진단 도구입니다. 출력은 기본적으로 q를 눌러 프로그램을 종료할 때까지 실시간으로 업데이트됩니다.

mtr을 실행하는 가장 쉬운 방법은 다음과 같이 호스트 이름이나 IP 주소를 인수로 제공하는 것입니다.

mtr google.com
OR
mtr 216.58.223.78
샘플 출력
linux-console.net (0.0.0.0)                                   Thu Jul 12 08:58:27 2018
First TTL: 1

 Host                                                   Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 192.168.0.1                                         0.0%    41    0.5   0.6   0.4   1.7   0.2
 2. 5.5.5.215                                           0.0%    40    1.9   1.5   0.8   7.3   1.0
 3. 209.snat-111-91-120.hns.net.in                      23.1%    40    1.9   2.7   1.7  10.5   1.6
 4. 72.14.194.226                                       0.0%    40   89.1   5.2   2.2  89.1  13.7
 5. 108.170.248.193                                     0.0%    40    3.0   4.1   2.4  52.4   7.8
 6. 108.170.237.43                                      0.0%    40    2.9   5.3   2.5  94.1  14.4
 7. bom07s10-in-f174.1e100.net                          0.0%    40    2.6   6.7   2.3  79.7  16.

수를 특정 값으로 제한하고 표시된 대로 -c 플래그를 사용하여 해당 핑 후에 mtr을 종료할 수 있습니다.

mtr -c 4 google.com

8. 경로 명령

route는 Linux 시스템의 IP 라우팅 테이블을 표시하거나 조작하기 위한 명령줄 유틸리티입니다. 주로 인터페이스를 통해 특정 호스트나 네트워크에 대한 고정 경로를 구성하는 데 사용됩니다.

입력하여 커널 IP 라우팅 테이블을 볼 수 있습니다.

route

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s3
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

라우팅을 구성하는 데 사용할 수 있는 다양한 명령이 있습니다. 다음은 몇 가지 유용한 것입니다:

라우팅 테이블에 기본 게이트웨이를 추가합니다.

sudo route add default gw <gateway-ip>

라우팅 테이블에 네트워크 경로를 추가합니다.

sudo route add -net <network ip/cidr> gw <gateway ip> <interface>

라우팅 테이블에서 특정 경로 항목을 삭제합니다.

sudo route del -net <network ip/cidr>

9. Nmcli 명령

Nmcli는 네트워크 상태를 보고하고, 네트워크 연결을 관리하고, NetworkManager를 제어하는 사용하기 쉽고 스크립트 가능한 명령줄 도구입니다.

모든 네트워크 장치를 보려면 다음을 입력하십시오.

nmcli dev status

DEVICE      TYPE      STATE      CONNECTION         
virbr0      bridge    connected  virbr0             
enp0s3      ethernet  connected  Wired connection 1 

시스템의 네트워크 연결을 확인하려면 다음을 입력하십시오.

nmcli con show

Wired connection 1  bc3638ff-205a-3bbb-8845-5a4b0f7eef91  802-3-ethernet  enp0s3 
virbr0              00f5d53e-fd51-41d3-b069-bdfd2dde062b  bridge          virbr0 

활성 연결만 보려면 -a 플래그를 추가하세요.

nmcli con show -a

네트워크 검색 및 성능 분석 도구

10. Netstat 명령

netstat는 Linux 네트워킹 하위 시스템과 관련된 네트워크 연결, 라우팅 테이블, 인터페이스 통계 등과 같은 유용한 정보를 표시하는 명령줄 도구입니다. 네트워크 문제 해결 및 성능 분석에 유용합니다.

또한 어떤 프로그램이 어떤 포트에서 수신 대기하는지 확인하는 데 사용되는 기본 네트워크 서비스 디버깅 도구이기도 합니다. 예를 들어, 다음 명령은 수신 모드의 모든 TCP 포트와 해당 포트에서 수신 중인 프로그램을 표시합니다.

sudo netstat -tnlp

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 127.0.0.1:5003          0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:465             0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      1404/pdns_server    
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      1064/pure-ftpd (SER 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      972/sshd            
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      975/cupsd           
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 0.0.0.0:8090            0.0.0.0:*               LISTEN      636/lscpd (lscpd -  
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:995             0.0.0.0:*               LISTEN      1015/dovecot        
tcp6       0      0 :::3306                 :::*                    LISTEN      1053/mysqld         
tcp6       0      0 :::3307                 :::*                    LISTEN      1211/mysqld         
tcp6       0      0 :::587                  :::*                    LISTEN      1257/master         
tcp6       0      0 :::110                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::143                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::80                   :::*                    LISTEN      990/httpd           
tcp6       0      0 :::465                  :::*                    LISTEN      1257/master         
tcp6       0      0 :::53                   :::*                    LISTEN      1404/pdns_server    
tcp6       0      0 :::21                   :::*                    LISTEN      1064/pure-ftpd (SER 
tcp6       0      0 :::22                   :::*                    LISTEN      972/sshd            
tcp6       0      0 ::1:631                 :::*                    LISTEN      975/cupsd           
tcp6       0      0 :::25                   :::*                    LISTEN      1257/master         
tcp6       0      0 :::993                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::995                  :::*                    LISTEN      1015/dovecot        

커널 라우팅 테이블을 보려면 -r 플래그를 사용하세요(위의 route 명령 실행과 동일).

netstat -r

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         gateway         0.0.0.0         UG        0 0          0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 enp0s3
192.168.122.0   0.0.0.0         255.255.255.0   U         0 0          0 virbr0

참고: Netstat는 훌륭한 도구이지만 이제는 더 이상 사용되지 않으며 아래 설명된 ss 명령으로 대체됩니다.

11. SS 명령

ss(소켓 통계)는 소켓을 조사하는 강력한 명령줄 유틸리티입니다. 소켓 통계를 덤프하고 netstat과 유사한 정보를 표시합니다. 또한 다른 유사한 유틸리티에 비해 더 많은 TCP 및 상태 정보를 표시합니다.

다음 예에서는 서버에 열려 있는 모든 TCP 포트(소켓)를 나열하는 방법을 보여줍니다.

ss -ta

State      Recv-Q Send-Q                                        Local Address:Port                                                         Peer Address:Port                
LISTEN     0      100                                                       *:submission                                                              *:*                    
LISTEN     0      128                                               127.0.0.1:fmpro-internal                                                          *:*                    
LISTEN     0      100                                                       *:pop3                                                                    *:*                    
LISTEN     0      100                                                       *:imap                                                                    *:*                    
LISTEN     0      128                                                       *:sunrpc                                                                  *:*                    
LISTEN     0      100                                                       *:urd                                                                     *:*                    
LISTEN     0      128                                                       *:domain                                                                  *:*                    
LISTEN     0      9                                                         *:ftp                                                                     *:*                    
LISTEN     0      128                                                       *:ssh                                                                     *:*                    
LISTEN     0      128                                               127.0.0.1:ipp                                                                     *:*                    
LISTEN     0      100                                                       *:smtp                                                                    *:*                    
LISTEN     0      128                                                       *:8090                                                                    *:*                    
LISTEN     0      100                                                       *:imaps                                                                   *:*                    
LISTEN     0      100                                                       *:pop3s                                                                   *:*                    
ESTAB      0      0                                             192.168.0.104:ssh                                                         192.168.0.103:36398                
ESTAB      0      0                                                 127.0.0.1:34642                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34638                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34644                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34640                                                           127.0.0.1:opsession-prxy       
LISTEN     0      80                                                       :::mysql                                                                  :::*             
...

모든 활성 TCP 연결을 타이머와 함께 표시하려면 다음 명령을 실행하세요.

ss -to

12. NC 명령

NC(NetCat)는 "네트워크 스위스 군용 칼"이라고도 하며 TCP, UDP 또는 UNIX 도메인 소켓과 관련된 거의 모든 작업에 사용되는 강력한 유틸리티입니다. TCP 연결을 열고, 임의의 TCP 및 UDP 포트를 수신하고, 포트 스캐닝 등을 수행하는 데 사용됩니다.

또한 네트워크 데몬 테스트, 원격 포트 연결 가능 여부 확인 등을 위해 간단한 TCP 프록시로 사용할 수도 있습니다. 또한 pv 명령과 함께 nc를 사용하여 두 컴퓨터 간에 파일을 전송할 수 있습니다.

다음 예에서는 포트 목록을 검색하는 방법을 보여줍니다.

nc -zv server2.tecmint.lan 21 22 80 443 3000

표시된 대로 포트 범위를 지정할 수도 있습니다.

nc -zv server2.tecmint.lan 20-90

다음 예에서는 nc를 사용하여 server2.tecmint.lan에서 포트 5000에 대한 TCP 연결을 여는 방법(포트 3000 사용)을 보여줍니다. 를 소스 포트로 지정하고 시간 제한은 10초입니다.

nc -p 3000 -w 10 server2.tecmint.lan 5000 

13. Nmap 명령

Nmap(Network Mapper)은 Linux 시스템/네트워크 관리자를 위한 강력하고 매우 다양한 도구입니다. 단일 호스트에 대한 정보를 수집하거나 전체 네트워크의 네트워크를 탐색하는 데 사용됩니다. Nmap은 보안 검색, 네트워크 감사, 원격 호스트에서 열려 있는 포트 찾기 등을 수행하는 데에도 사용됩니다.

예를 들어 호스트 이름이나 IP 주소를 사용하여 호스트를 검색할 수 있습니다.

nmap google.com 

Starting Nmap 6.40 ( http://nmap.org ) at 2018-07-12 09:23 BST
Nmap scan report for google.com (172.217.166.78)
Host is up (0.0036s latency).
rDNS record for 172.217.166.78: bom05s15-in-f14.1e100.net
Not shown: 998 filtered ports
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 4.92 seconds

또는 표시된 대로 IP 주소를 사용합니다.

nmap 192.168.0.103

Starting Nmap 6.40 ( http://nmap.org ) at 2018-07-12 09:24 BST
Nmap scan report for 192.168.0.103
Host is up (0.000051s latency).
Not shown: 994 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
902/tcp  open  iss-realsecure
4242/tcp open  vrml-multi-use
5900/tcp open  vnc
8080/tcp open  http-proxy
MAC Address: 28:D2:44:EB:BD:98 (Lcfc(hefei) Electronics Technology Co.)

Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds

nmap 명령에 대한 다음 유용한 기사를 읽어보세요.

  1. Linux에서 NSE(Nmap 스크립트 엔진) 스크립트를 사용하는 방법
  2. Kali Linux의 Nmap(네트워크 보안 스캐너)에 대한 실용 가이드
  3. Linux에서 네트워크에 연결된 모든 라이브 호스트 IP 주소 찾기

DNS 조회 유틸리티

14. 호스트 명령

호스트 명령은 DNS 조회를 수행하기 위한 간단한 유틸리티로, 호스트 이름을 IP 주소로 또는 그 반대로 변환합니다.

host google.com

google.com has address 172.217.166.78
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.

15. 발굴 명령

dig(domain information groper)는 A 레코드, CNAME, MX 레코드 등과 같은 DNS 관련 정보를 쿼리하는 데 사용되는 또 다른 간단한 DNS 조회 유틸리티이기도 합니다.

dig google.com

; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23083
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 14

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.com.			IN	A

;; ANSWER SECTION:
google.com.		72	IN	A	172.217.166.78

;; AUTHORITY SECTION:
com.			13482	IN	NS	c.gtld-servers.net.
com.			13482	IN	NS	d.gtld-servers.net.
com.			13482	IN	NS	e.gtld-servers.net.
com.			13482	IN	NS	f.gtld-servers.net.
com.			13482	IN	NS	g.gtld-servers.net.
com.			13482	IN	NS	h.gtld-servers.net.
com.			13482	IN	NS	i.gtld-servers.net.
com.			13482	IN	NS	j.gtld-servers.net.
com.			13482	IN	NS	k.gtld-servers.net.
com.			13482	IN	NS	l.gtld-servers.net.
com.			13482	IN	NS	m.gtld-servers.net.
com.			13482	IN	NS	a.gtld-servers.net.
com.			13482	IN	NS	b.gtld-servers.net.

;; ADDITIONAL SECTION:
a.gtld-servers.net.	81883	IN	A	192.5.6.30
b.gtld-servers.net.	3999	IN	A	192.33.14.30
c.gtld-servers.net.	14876	IN	A	192.26.92.30
d.gtld-servers.net.	85172	IN	A	192.31.80.30
e.gtld-servers.net.	95861	IN	A	192.12.94.30
f.gtld-servers.net.	78471	IN	A	192.35.51.30
g.gtld-servers.net.	5217	IN	A	192.42.93.30
h.gtld-servers.net.	111531	IN	A	192.54.112.30
i.gtld-servers.net.	93017	IN	A	192.43.172.30
j.gtld-servers.net.	93542	IN	A	192.48.79.30
k.gtld-servers.net.	107218	IN	A	192.52.178.30
l.gtld-servers.net.	6280	IN	A	192.41.162.30
m.gtld-servers.net.	2689	IN	A	192.55.83.30

;; Query time: 4 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Thu Jul 12 09:30:57 BST 2018
;; MSG SIZE  rcvd: 487

16. NSLookup 명령

Nslookup은 또한 대화형 및 비대화형으로 DNS 서버를 쿼리하는 데 널리 사용되는 명령줄 유틸리티입니다. DNS 리소스 레코드(RR)를 쿼리하는 데 사용됩니다. 다음과 같이 도메인의 “A” 레코드(IP 주소)를 확인할 수 있습니다.

nslookup google.com

Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
Name:	google.com
Address: 172.217.166.78

표시된 대로 역방향 도메인 조회를 수행할 수도 있습니다.

nslookup 216.58.208.174

Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
174.208.58.216.in-addr.arpa	name = lhr25s09-in-f14.1e100.net.
174.208.58.216.in-addr.arpa	name = lhr25s09-in-f174.1e100.net.

Authoritative answers can be found from:
in-addr.arpa	nameserver = e.in-addr-servers.arpa.
in-addr.arpa	nameserver = f.in-addr-servers.arpa.
in-addr.arpa	nameserver = a.in-addr-servers.arpa.
in-addr.arpa	nameserver = b.in-addr-servers.arpa.
in-addr.arpa	nameserver = c.in-addr-servers.arpa.
in-addr.arpa	nameserver = d.in-addr-servers.arpa.
a.in-addr-servers.arpa	internet address = 199.180.182.53
b.in-addr-servers.arpa	internet address = 199.253.183.183
c.in-addr-servers.arpa	internet address = 196.216.169.10
d.in-addr-servers.arpa	internet address = 200.10.60.53
e.in-addr-servers.arpa	internet address = 203.119.86.101
f.in-addr-servers.arpa	internet address = 193.0.9.1

Linux 네트워크 패킷 분석기

17. Tcpdump 명령

Tcpdump는 매우 강력하고 널리 사용되는 명령줄 네트워크 스니퍼입니다. 특정 인터페이스에서 네트워크를 통해 전송되거나 수신되는 TCP/IP 패킷을 캡처하고 분석하는 데 사용됩니다.

특정 인터페이스에서 패킷을 캡처하려면 -i 옵션을 사용하여 지정하세요.

tcpdump -i eth1

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), capture size 262144 bytes
09:35:40.287439 IP linux-console.net.ssh > 192.168.0.103.36398: Flags [P.], seq 4152360356:4152360552, ack 306922699, win 270, options [nop,nop,TS val 2211778668 ecr 2019055], length 196
09:35:40.287655 IP 192.168.0.103.36398 > linux-console.net.ssh: Flags [.], ack 196, win 5202, options [nop,nop,TS val 2019058 ecr 2211778668], length 0
09:35:40.288269 IP linux-console.net.54899 > gateway.domain: 43760+ PTR? 103.0.168.192.in-addr.arpa. (44)
09:35:40.333763 IP gateway.domain > linux-console.net.54899: 43760 NXDomain* 0/1/0 (94)
09:35:40.335311 IP linux-console.net.52036 > gateway.domain: 44289+ PTR? 1.0.168.192.in-addr.arpa. (42)

특정 수의 패킷을 캡처하려면 -c 옵션을 사용하여 원하는 수를 입력하십시오.

tcpdump -c 5 -i eth1

나중에 분석하기 위해 패킷을 캡처하고 파일에 저장할 수도 있습니다. -w 플래그를 사용하여 출력 파일을 지정합니다.

tcpdump -w captured.pacs -i eth1

18. Wireshark 유틸리티

Wireshark는 패킷 교환 네트워크에서 실시간으로 패킷을 캡처하고 분석하기 위한 강력하고 다재다능하며 사용하기 쉬운 널리 사용되는 도구입니다.

나중에 검사하기 위해 캡처한 데이터를 파일에 저장할 수도 있습니다. 시스템 관리자와 네트워크 엔지니어가 보안 및 문제 해결 목적으로 패킷을 모니터링하고 검사하는 데 사용됩니다.

19. Bmon 도구

bmon은 Unix 계열 시스템을 위한 강력한 명령줄 기반 네트워크 모니터링 및 디버깅 유틸리티로, 네트워킹 관련 통계를 캡처하여 인간에게 친숙한 형식으로 시각적으로 인쇄합니다. 안정적이고 효과적인 실시간 대역폭 모니터 및 속도 추정기입니다.

Linux 방화벽 관리 도구

20. IPtables 방화벽

iptables는 테이블 IP 패킷 필터링 및 NAT 규칙 세트를 구성, 유지 관리 및 검사하기 위한 명령줄 도구입니다. Linux 방화벽(Netfilter)을 설정하고 관리하는 데 사용됩니다. 기존 패킷 필터 규칙을 나열할 수 있습니다. 패킷 필터 규칙을 추가, 삭제 또는 수정합니다. 패킷 필터 규칙의 규칙별 카운터를 나열합니다.

간단하면서도 포괄적인 가이드를 통해 다양한 목적으로 Iptables를 사용하는 방법을 배울 수 있습니다.

  1. IPTables 기본 가이드(Linux 방화벽) 팁/명령
  2. 모든 리눅스 관리자가 알아야 할 25가지 유용한 IPtable 방화벽 규칙
  3. 서비스에 대한 원격 액세스를 활성화하기 위해 Iptables 방화벽을 설정하는 방법
  4. Linux 시스템에 대한 Ping ICMP 요청을 차단하는 방법

21. 방화벽

Firewalld는 iptables처럼 Linux 방화벽(Netfilter)을 관리하는 강력하고 동적인 데몬입니다. iptables의 INPUT, OUTPUT 및 FORWARD CHAINS 대신 "네트워크 영역"을 사용합니다. RHEL/CentOS 7Fedora 21+와 같은 현재 Linux 배포판에서 iptablesfirewalld로 적극적으로 대체되고 있습니다. .

방화벽을 시작하려면 아래 나열된 가이드를 참조하세요.

  1. Linux에서 방화벽을 구성하고 관리하는 데 유용한 'FirewallD' 규칙
  2. RHEL/CentOS 7 및 Fedora 21에서 'FirewallD'를 구성하는 방법
  3. Linux에서 FirewallD 및 Iptables 방화벽을 시작/중지하고 활성화/비활성화하는 방법
  4. Linux/Windows에서 파일 공유를 허용하도록 Samba 설정 및 FirewallD 및 SELinux 구성

중요: Iptables는 계속 지원되며 YUM 패키지 관리자를 사용하여 설치할 수 있습니다. 그러나 동일한 서버에서 Firewalldiptables를 동시에 사용할 수는 없습니다. 하나만 선택해야 합니다.

22. UFW(복잡하지 않은 방화벽)

UFW는 DebianUbuntu Linux 배포판에서 잘 알려진 기본 방화벽 구성 도구입니다. 시스템 방화벽을 활성화/비활성화하고, 패킷 필터링 규칙을 추가/삭제/수정/재설정하는 등의 작업에 사용됩니다.

UFW 방화벽 상태를 확인하려면 다음을 입력하세요.

sudo ufw status

UFW 방화벽이 활성화되지 않은 경우 다음 명령을 사용하여 활성화하거나 활성화할 수 있습니다.

sudo ufw enable

UFW 방화벽을 비활성화하려면 다음 명령을 사용하십시오.

sudo ufw disable 

Ubuntu 및 Debian에서 UFW 방화벽을 설정하는 방법 기사를 읽어보세요.

특정 프로그램에 대한 추가 정보를 찾으려면 표시된 대로 해당 매뉴얼 페이지를 참조할 수 있습니다.

man programs_name

지금은 여기까지입니다! 이 포괄적인 가이드에서는 Linux에서 네트워크 관리를 위해 가장 많이 사용되는 명령줄 도구 및 유틸리티 중 일부를 다양한 범주에서 검토했습니다. 시스템 관리자는 물론 정규 네트워크 관리자/엔지니어에게도 유용합니다.

아래 의견 양식을 통해 이 가이드에 대한 의견을 공유할 수 있습니다. 자주 사용하고 중요한 Linux 네트워킹 도구/유틸리티 또는 유용한 관련 정보를 놓친 경우에도 알려주십시오.