Wyszukiwanie w witrynie

22 Polecenia sieciowe systemu Linux dla Sysadmin


Do rutynowych zadań administratora systemu należy konfigurowanie, konserwacja, rozwiązywanie problemów oraz zarządzanie serwerami i sieciami w centrach danych. W Linuksie istnieje wiele narzędzi i narzędzi przeznaczonych do celów administracyjnych.

W tym artykule dokonamy przeglądu niektórych najczęściej używanych narzędzi wiersza poleceń i narzędzi do zarządzania siecią w systemie Linux, w różnych kategoriach. Wyjaśnimy kilka typowych przykładów użycia, które znacznie ułatwią zarządzanie siecią w systemie Linux.

Na tej stronie

  • polecenie ifconfig
  • Polecenie ip
  • Polecenie ifup
  • Komenda ethtool
  • Polecenie ping
  • Polecenie traceroute
  • polecenie mtr
  • Polecenie trasy
  • polecenie nmcli
  • Komenda netstat
  • ss polecenie
  • polecenie n.c
  • polecenie nmap
  • Komenda gospodarza
  • kop Polecenie
  • Polecenie nslookup
  • polecenie tcpdump
  • Narzędzie Wireshark
  • narzędzie bmon
  • Zapora sieciowa iptables
  • zapora ogniowa
  • Zapora sieciowa UFW

Ta lista jest równie przydatna dla pełnoetatowych inżynierów sieci Linux.

Narzędzia do konfiguracji sieci, rozwiązywania problemów i debugowania

1. Polecenie ifconfig

ifconfig to narzędzie interfejsu wiersza poleceń służące do konfiguracji interfejsu sieciowego, używane także do inicjowania interfejsów podczas uruchamiania systemu. Po uruchomieniu serwera można za jego pomocą przypisać adres IP do interfejsu oraz włączyć lub wyłączyć interfejs na żądanie.

Służy także do przeglądania adresu IP, adresu sprzętowego/MAC, a także rozmiaru MTU (maksymalnej jednostki transmisji) aktualnie aktywnych interfejsów. ifconfig jest zatem przydatny do debugowania lub dostrajania systemu.

Oto przykład wyświetlania stanu wszystkich aktywnych interfejsów sieciowych.

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)

Aby wyświetlić listę wszystkich aktualnie dostępnych interfejsów, zarówno w górę, jak i w dół, użyj flagi -a.

ifconfig -a 	

Aby przypisać adres IP do interfejsu, użyj poniższego polecenia.

sudo ifconfig eth0 192.168.56.5 netmask 255.255.255.0

Aby aktywować interfejs sieciowy, wpisz.

sudo ifconfig up eth0

Aby dezaktywować lub zamknąć interfejs sieciowy, wpisz.

sudo ifconfig down eth0

Uwaga: chociaż ifconfig to świetne narzędzie, obecnie jest przestarzałe (przestarzałe), jego zamiennikiem jest polecenie ip, co wyjaśniono poniżej.

2. Polecenie IP

Polecenie ip to kolejne przydatne narzędzie wiersza poleceń do wyświetlania i manipulowania routingiem, urządzeniami sieciowymi i interfejsami. Zastępuje ifconfig i wiele innych poleceń sieciowych. (Przeczytaj nasz artykuł „Jaka jest różnica między poleceniem ifconfig a poleceniem ip”, aby dowiedzieć się więcej na ten temat.)

Poniższe polecenie wyświetli adres IP i inne informacje o interfejsie sieciowym.

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
...

Aby tymczasowo przypisać adres IP do określonego interfejsu sieciowego (eth0), wpisz.

sudo ip addr add 192.168.56.1 dev eth0

Aby usunąć przypisany adres IP z interfejsu sieciowego (eth0), wpisz.

sudo ip addr del 192.168.56.15/24 dev eth0

Aby wyświetlić aktualną tabelę sąsiadów w jądrze, wpisz.

ip neigh

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

3. polecenia ifup, ifdown i ifquery

Polecenie ifup aktywuje interfejs sieciowy, udostępniając go do przesyłania i odbierania danych.

sudo ifup eth0

Komenda ifdown wyłącza interfejs sieciowy, utrzymując go w stanie, w którym nie może przesyłać ani odbierać danych.

sudo ifdown eth0

Polecenie ifquery służące do analizy konfiguracji interfejsu sieciowego, umożliwiające otrzymanie odpowiedzi na zapytania dotyczące jego aktualnej konfiguracji.

sudo ifquery eth0

4. Polecenie Ettool

ethtool to narzędzie wiersza poleceń służące do sprawdzania i modyfikowania parametrów kontrolera interfejsu sieciowego i sterowników urządzeń. Poniższy przykład pokazuje użycie ethtool i polecenia przeglądania parametrów interfejsu sieciowego.

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. Polecenie ping

ping (Packet INternet Groper) to narzędzie zwykle używane do testowania łączności między dwoma systemami w sieci (Sieć lokalna (LAN) lub Sieć rozległa (WAN)). Wykorzystuje ICMP (protokół komunikatów kontroli Internetu) do komunikacji z węzłami w sieci.

Aby przetestować łączność z innym węzłem, wystarczy podać na przykład jego adres IP lub nazwę hosta.

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

Możesz także nakazać pingowi zakończenie działania po określonej liczbie pakietów ECHO_REQUEST, używając flagi -c, jak pokazano.

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. Polecenie Traceroute

Traceroute to narzędzie wiersza poleceń umożliwiające śledzenie pełnej ścieżki z systemu lokalnego do innego systemu sieciowego. Wypisuje liczbę przeskoków (adresów IP routerów) na ścieżce, którą pokonujesz, aby dotrzeć do serwera końcowego. Jest to łatwe w użyciu narzędzie do rozwiązywania problemów z siecią, uruchamiane po wydaniu polecenia ping.

W tym przykładzie śledzimy trasę pakietów z systemu lokalnego do jednego z serwerów Google o adresie IP 216.58.204.46.

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. Narzędzie diagnostyczne sieci MTR

MTR to nowoczesne narzędzie diagnostyczne sieci uruchamiane z wiersza poleceń, które łączy w sobie funkcjonalność ping i traceroute w jedno narzędzie diagnostyczne. Jego dane wyjściowe są domyślnie aktualizowane w czasie rzeczywistym, dopóki nie wyjdziesz z programu naciskając q.

Najprostszym sposobem uruchomienia mtr jest podanie mu nazwy hosta lub adresu IP jako argumentu w następujący sposób.

mtr google.com
OR
mtr 216.58.223.78
Przykładowe wyjście
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.

Możesz ograniczyć liczbę pingów do określonej wartości i wyjść z mtr po tych pingach, używając flagi -c, jak pokazano.

mtr -c 4 google.com

8. Polecenie trasy

trasa to narzędzie wiersza poleceń umożliwiające wyświetlanie tabeli routingu IP lub manipulowanie nią w systemie Linux. Służy głównie do konfigurowania tras statycznych do określonych hostów lub sieci za pośrednictwem interfejsu.

Możesz wyświetlić tabelę routingu IP jądra, wpisując.

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

Istnieje wiele poleceń, których można użyć do skonfigurowania routingu. Oto kilka przydatnych:

Dodaj bramę domyślną do tablicy routingu.

sudo route add default gw <gateway-ip>

Dodaj trasę sieciową do tablicy routingu.

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

Usuń określony wpis trasy z tablicy routingu.

sudo route del -net <network ip/cidr>

9. Polecenie Nmcli

Nmcli to łatwe w użyciu, skryptowe narzędzie wiersza poleceń służące do raportowania stanu sieci, zarządzania połączeniami sieciowymi i kontrolowania NetworkManagera.

Aby wyświetlić wszystkie urządzenia sieciowe, wpisz.

nmcli dev status

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

Aby sprawdzić połączenia sieciowe w swoim systemie, wpisz.

nmcli con show

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

Aby zobaczyć tylko aktywne połączenia, dodaj flagę -a.

nmcli con show -a

Narzędzia do skanowania sieci i analizy wydajności

10. Polecenie Netstat

netstat to narzędzie wiersza poleceń, które wyświetla przydatne informacje, takie jak połączenia sieciowe, tablice routingu, statystyki interfejsu i wiele innych, dotyczących podsystemu sieciowego Linuksa. Jest przydatny do rozwiązywania problemów z siecią i analizy wydajności.

Dodatkowo jest to także podstawowe narzędzie do debugowania usług sieciowych, służące do sprawdzania, które programy nasłuchują na jakich portach. Na przykład poniższe polecenie wyświetli wszystkie porty TCP w trybie nasłuchiwania i jakie programy na nich nasłuchują.

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        

Aby wyświetlić tablicę routingu jądra, użyj flagi -r (co jest równoznaczne z uruchomieniem powyższego polecenia 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

Uwaga: chociaż Netstat to świetne narzędzie, obecnie jest przestarzałe (przestarzałe), jego zamiennikiem jest polecenie ss, które wyjaśniono poniżej.

11. ss Polecenie

ss (statystyki gniazd) to potężne narzędzie wiersza poleceń umożliwiające badanie gniazd. Zrzuca statystyki gniazd i wyświetla informacje podobne do netstat. Ponadto pokazuje więcej informacji o protokole TCP i stanie w porównaniu do innych podobnych narzędzi.

Poniższy przykład pokazuje, jak wyświetlić listę wszystkich portów TCP (gniazda), które są otwarte na serwerze.

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                                                                  :::*             
...

Aby wyświetlić wszystkie aktywne połączenia TCP wraz z ich licznikami czasu, uruchom następujące polecenie.

ss -to

12. Polecenie NC

NC (NetCat), nazywany także „szwajcarskim scyzorykiem sieciowym”, to potężne narzędzie wykorzystywane do niemal każdego zadania związanego z gniazdami domeny TCP, UDP lub UNIX. Służy do otwierania połączeń TCP, nasłuchiwania na dowolnych portach TCP i UDP, wykonywania skanowania portów i nie tylko.

Można go także używać jako prostego proxy TCP, do testowania demonów sieciowych, sprawdzania dostępności portów zdalnych i wielu innych. Co więcej, możesz użyć nc razem z poleceniem pv do przesyłania plików między dwoma komputerami.

Poniższy przykład pokaże, jak przeskanować listę portów.

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

Można także określić zakres portów, jak pokazano.

nc -zv server2.tecmint.lan 20-90

Poniższy przykład pokazuje, jak użyć nc do otwarcia połączenia TCP z portem 5000 na server2.tecmint.lan, używając portu 3000 jako port źródłowy, z limitem czasu wynoszącym 10 sekund.

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

13. Polecenie Nmap

Nmap (Network Mapper) to potężne i niezwykle wszechstronne narzędzie dla administratorów systemów/sieci Linux. Służy do zbierania informacji o pojedynczym hoście lub eksploracji sieci w całej sieci. Nmap jest również używany do wykonywania skanów bezpieczeństwa, audytów sieci i znajdowania otwartych portów na zdalnych hostach i wielu innych.

Możesz przeskanować hosta, na przykład, używając jego nazwy hosta lub adresu 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

Alternatywnie użyj adresu IP, jak pokazano.

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

Przeczytaj nasze poniższe przydatne artykuły na temat polecenia nmap.

  1. Jak korzystać ze skryptów silnika skryptowego Nmap (NSE) w systemie Linux
  2. Praktyczny przewodnik po Nmap (sieciowym skanerze bezpieczeństwa) w Kali Linux
  3. Znajdź wszystkie adresy IP hostów na żywo połączone w sieci w systemie Linux

Narzędzia wyszukiwania DNS

14. Dowództwo hosta

polecenie host to proste narzędzie do wyszukiwania DNS, tłumaczy nazwy hostów na adresy IP i odwrotnie.

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. kop Polecenie

dig (groper informacji o domenie) to także kolejne proste narzędzie do wyszukiwania DNS, które służy do sprawdzania informacji związanych z DNS, takich jak rekord A, CNAME, rekord MX itp., na przykład:

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. Polecenie NSLokup

Nslookup to także popularne narzędzie wiersza poleceń służące do wysyłania zapytań do serwerów DNS zarówno interaktywnie, jak i nieinteraktywnie. Służy do wysyłania zapytań do rekordów zasobów DNS (RR). Rekord A (adres IP) domeny można znaleźć, jak pokazano na rysunku.

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

Możesz także przeprowadzić odwrotne wyszukiwanie domeny, jak pokazano.

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

Analizatory pakietów sieciowych w systemie Linux

17. Polecenie Tcpdump

Tcpdump to bardzo potężny i powszechnie używany sniffer sieciowy uruchamiany z wiersza poleceń. Służy do przechwytywania i analizowania pakietów TCP/IP przesyłanych lub odbieranych w sieci na określonym interfejsie.

Aby przechwytywać pakiety z danego interfejsu, określ go za pomocą opcji -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)

Aby przechwycić określoną liczbę pakietów, użyj opcji -c i wprowadź żądaną liczbę.

tcpdump -c 5 -i eth1

Możesz także przechwytywać i zapisywać pakiety w pliku do późniejszej analizy. Użyj flagi -w, aby określić plik wyjściowy.

tcpdump -w captured.pacs -i eth1

18. Narzędzie Wireshark

Wireshark to popularne, wydajne, wszechstronne i łatwe w użyciu narzędzie do przechwytywania i analizowania pakietów w sieci z komutacją pakietów w czasie rzeczywistym.

Możesz także zapisać przechwycone dane do pliku w celu późniejszej kontroli. Jest używany przez administratorów systemów i inżynierów sieci do monitorowania i sprawdzania pakietów w celach bezpieczeństwa i rozwiązywania problemów.

19. Narzędzie Bmon

bmon to potężne narzędzie do monitorowania i debugowania sieci oparte na wierszu poleceń dla systemów uniksowych. Przechwytuje statystyki związane z siecią i drukuje je wizualnie w formacie przyjaznym dla człowieka. Jest to niezawodny i skuteczny monitor przepustowości i estymator szybkości w czasie rzeczywistym.

Narzędzia do zarządzania zaporą systemu Linux

20. Zapora sieciowa Iptables

iptables to narzędzie wiersza poleceń służące do konfigurowania, utrzymywania i sprawdzania filtrowania pakietów IP tabel i zestawu reguł NAT. Służy do konfigurowania i zarządzania zaporą systemu Linux (Netfilter). Umożliwia wyświetlenie listy istniejących reguł filtrowania pakietów; dodawać, usuwać lub modyfikować reguły filtrowania pakietów; wyświetla listę liczników reguł filtrów pakietów.

Z naszych prostych, ale kompleksowych przewodników możesz dowiedzieć się, jak używać Iptables do różnych celów.

  1. Podstawowy przewodnik po IPTables (zaporze linuksowej) – porady/polecenia
  2. 25 Przydatnych reguł zapory IPtable, które powinien znać każdy administrator Linuksa
  3. Jak skonfigurować zaporę sieciową Iptables, aby umożliwić zdalny dostęp do usług
  4. Jak blokować żądania ping ICMP do systemów Linux

21. Zapora sieciowa

Firewalld to potężny i dynamiczny demon do zarządzania zaporą systemu Linux (Netfilter), podobnie jak iptables. Używa „stref sieciowych” zamiast INPUT, OUTPUT i FORWARD CHAINS w iptables. W obecnych dystrybucjach Linuksa, takich jak RHEL/CentOS 7 i Fedora 21+, iptables jest aktywnie zastępowany przez firewalld .

Aby rozpocząć korzystanie z firewalld, zapoznaj się z poniższymi przewodnikami:

  1. Przydatne reguły „FirewallD” do konfiguracji i zarządzania zaporą sieciową w systemie Linux
  2. Jak skonfigurować „FirewallD” w RHEL/CentOS 7 i Fedorze 21
  3. Jak uruchomić/zatrzymać i włączyć/wyłączyć zaporę FirewallD i Iptables w systemie Linux
  4. Konfigurowanie Samby i konfigurowanie FirewallD i SELinux, aby umożliwić udostępnianie plików w systemie Linux/Windows

Ważne: Iptables jest nadal obsługiwany i można go zainstalować za pomocą menedżera pakietów YUM. Nie możesz jednak jednocześnie używać Firewalld i iptables na tym samym serwerze – musisz wybrać jeden.

22. UFW (nieskomplikowana zapora ogniowa)

UFW to dobrze znane i domyślne narzędzie do konfiguracji zapory ogniowej w dystrybucjach Linuksa Debian i Ubuntu. Służy do włączania/wyłączania zapory systemowej, dodawania/usuwania/modyfikacji/resetowania reguł filtrowania pakietów i wielu innych.

Aby sprawdzić stan zapory UFW, wpisz.

sudo ufw status

Jeśli zapora UFW nie jest aktywna, możesz ją aktywować lub włączyć za pomocą następującego polecenia.

sudo ufw enable

Aby wyłączyć zaporę UFW, użyj następującego polecenia.

sudo ufw disable 

Przeczytaj nasz artykuł Jak skonfigurować zaporę UFW na Ubuntu i Debianie.

Jeśli chcesz znaleźć więcej informacji na temat konkretnego programu, możesz zajrzeć do jego stron podręcznika, jak pokazano.

man programs_name

To wszystko na teraz! W tym obszernym przewodniku dokonaliśmy przeglądu niektórych z najczęściej używanych narzędzi wiersza poleceń i narzędzi do zarządzania siecią w systemie Linux, w różnych kategoriach, dla administratorów systemu i równie przydatnych dla pełnoetatowych administratorów/inżynierów sieci.

Możesz podzielić się swoimi przemyśleniami na temat tego przewodnika, korzystając z poniższego formularza komentarza. Jeśli pominęliśmy często używane i ważne narzędzia/narzędzia sieciowe systemu Linux lub inne przydatne informacje, daj nam znać.