Công việc hàng ngày của một quản trị hệ thống bao gồm cấu hình, duy trì, khắc phục sự cố và quản lý máy chủ và mạng trong trung tâm dữ liệu. Có nhiều công cụ và tiện ích trong Linux được thiết kế cho mục đích quản trị.
Trong bài viết này, chúng ta sẽ xem xét một số công cụ và tiện ích linux network command được sử dụng nhiều nhất cho quản lý mạng trong Linux, theo các danh mục khác nhau. Bài viết sẽ giải thích một số ví dụ sử dụng phổ biến, giúp quản lý mạng dễ dàng hơn trong Linux.
Danh sách này cũng hữu ích cho kỹ sư mạng Linux chuyên nghiệp toàn thời gian.
Công cụ cấu hình, khắc phục sự cố và gỡ lỗi mạng
1. Lệnh ifconfig
Lệnh ifconfig là một công cụ giao diện dòng lệnh để cấu hình giao diện mạng và cũng được sử dụng để khởi tạo các giao diện khi máy chủ được khởi động. Sau khi máy chủ hoạt động, nó có thể được sử dụng để gán địa chỉ IP cho một giao diện và bật hoặc tắt giao diện theo yêu cầu.
Nó cũng được sử dụng để xem địa chỉ IP, địa chỉ phần cứng / MAC cũng như kích thước MTU (Đơn vị Truyền tải Tối đa) của các giao diện đang hoạt động. ifconfig vì vậy rất hữu ích cho việc gỡ lỗi hoặc thực hiện điều chỉnh hệ thống.
Dưới đây là một ví dụ để hiển thị tình trạng của tất cả các giao diện mạng đang hoạt động.
$ 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)
Để liệt kê tất cả các giao diện hiện có, bất kể có up hoặc down, sử dụng cờ -a
.
$ ifconfig -a
Để gán địa chỉ IP cho một giao diện, sử dụng lệnh sau.
$ sudo ifconfig eth0 192.168.56.5 netmask 255.255.255.0
Để kích hoạt một giao diện mạng, gõ.
$ sudo ifconfig up eth0
Để vô hiệu hóa hoặc tắt giao diện mạng, gõ.
$ sudo ifconfig down eth0
Lưu ý: Mặc dù ifconfig là một công cụ tuyệt vời, nhưng nó đã lỗi thời (không được khuyến nghị), công cụ thay thế của nó là lệnh ip được giải thích bên dưới.
2. Lệnh IP
Lệnh IP là một công cụ dòng lệnh khác hữu ích để hiển thị và điều chỉnh tuyến đường, thiết bị mạng, giao diện. Đây là một công cụ để thay thế ifconfig và nhiều lệnh mạng khác. (Đọc bài viết "Sự khác biệt giữa lệnh ifconfig và lệnh IP" của chúng tôi để tìm hiểu thêm về nó.)
Lệnh sau sẽ hiển thị địa chỉ IP và thông tin khác về một giao diện mạng.
$ 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
...
Để tạm thời gán Địa chỉ IP cho một giao diện mạng cụ thể (eth0), gõ.
$ sudo ip addr add 192.168.56.1 dev eth0
Để xóa địa chỉ IP đã gán từ một giao diện mạng (eth0), gõ.
$ sudo ip addr del 192.168.56.15/24 dev eth0
Để hiển thị bảng hàng xóm hiện tại trong kernel, gõ.
$ ip neigh
192.168.0.1 dev enp1s0 lladdr 10:fe:ed:3d:f3:82 REACHABLE
3. Lệnh ifup, ifdown và ifquery
Lệnh ifup kích hoạt một giao diện mạng, khiến nó trở nên có sẵn để truyền và nhận dữ liệu.
$ sudo ifup eth0
Lệnh ifdown tắt một giao diện mạng, giữ nó ở trạng thái không thể truyền hoặc nhận dữ liệu.
$ sudo ifdown eth0
Lệnh ifquery được sử dụng để phân tích cấu hình giao diện mạng, cho phép bạn nhận câu trả lời cho các truy vấn về cách nó được cấu hình hiện tại.
$ sudo ifquery eth0
Lệnh ethtool là một công cụ dòng lệnh để truy vấn và thay đổi các tham số điều khiển giao diện mạng và trình điều khiển thiết bị. Ví dụ dưới đây hiển thị cách sử dụng ethtool và một lệnh để xem các tham số cho giao diện mạng.
$ 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. Lệnh Ping
Lệnh ping (Packet INternet Groper) là một tiện ích thường được sử dụng để kiểm tra kết nối giữa hai hệ thống trên một mạng (Mạng Diện Rộng (LAN) hoặc Mạng Diện Rộng (WAN)). Nó sử dụng ICMP (Internet Control Message Protocol) để liên lạc với các nút trên mạng.
Để kiểm tra kết nối đến một nút khác, chỉ cần cung cấp địa chỉ IP hoặc tên máy chủ của nó, ví dụ.
$ 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
Bạn cũng có thể nói ping thoát sau một số gói ECHO_REQUEST xác định, sử dụng cờ -c như được hiển thị.
$ 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. Lệnh Traceroute
Traceroute là một tiện ích dòng lệnh để theo dõi đường dẫn đầy đủ từ hệ thống cục bộ của bạn đến hệ thống mạng khác. Nó in ra một số lượng nhảy (địa chỉ IP bộ định tuyến) trong con đường bạn đi để đến máy chủ cuối cùng. Đây là một tiện ích gỡ lỗi mạng dễ sử dụng sau lệnh ping.
Trong ví dụ này, chúng tôi đang theo dõi các gói tin đi từ hệ thống cục bộ đến một trong các máy chủ của Google với địa chỉ 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. Công cụ chẩn đoán mạng MTR
MTR là một công cụ chẩn đoán mạng hiện đại dòng lệnh kết hợp chức năng của ping và traceroute thành một công cụ chẩn đoán duy nhất. Kết quả của nó được cập nhật theo thời gian thực, mặc định cho đến khi bạn thoát chương trình bằng cách nhấn q.
Cách dễ nhất để chạy mtr là cung cấp cho nó một tên máy chủ hoặc địa chỉ IP như một đối số, như sau.
$ mtr google.com
OR
$ mtr 216.58.223.78
Đầu ra mẫu
tecmint.com (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.
Bạn có thể giới hạn số lần ping vào một giá trị cụ thể và thoát mtr sau các ping đó, sử dụng cờ -c
như được hiển thị.
$ mtr -c 4 google.com
8. Lệnh Route
route là một tiện ích dòng lệnh để hiển thị hoặc điều chỉnh bảng định tuyến IP của một hệ thống Linux. Nó chủ yếu được sử dụng để cấu hình các tuyến đường tĩnh đến các máy chủ hoặc mạng cụ thể thông qua một giao diện.
Bạn có thể xem bảng định tuyến IP Kernel bằng cách gõ.
$ 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
Có nhiều lệnh bạn có thể sử dụng để cấu hình định tuyến. Dưới đây là một số lệnh hữu ích:
Thêm một cổng mặc định vào bảng định tuyến.
$ sudo route add default gw
Thêm một tuyến mạng vào bảng định tuyến.
$ sudo route add -net gw
Xóa một mục định tuyến cụ thể khỏi bảng định tuyến.
$ sudo route del -net
9. Lệnh Nmcli
Nmcli là một công cụ dòng lệnh dễ sử dụng, có thể ghi kịch bản để báo cáo trạng thái mạng, quản lý kết nối mạng và điều khiển NetworkManager.
Để xem tất cả các thiết bị mạng của bạn, gõ.
$ nmcli dev status
DEVICE TYPE STATE CONNECTION
virbr0 bridge connected virbr0
enp0s3 ethernet connected Wired connection 1
Để kiểm tra kết nối mạng trên hệ thống của bạn, gõ.
$ nmcli con show
Wired connection 1 bc3638ff-205a-3bbb-8845-5a4b0f7eef91 802-3-ethernet enp0s3
virbr0 00f5d53e-fd51-41d3-b069-bdfd2dde062b bridge virbr0
Để chỉ hiển thị các kết nối hoạt động, thêm cờ -a.
$ nmcli con show -a
Công cụ quét mạng và phân tích hiệu năng
10. Lệnh Netstat
netstat là một công cụ dòng lệnh hiển thị thông tin hữu ích như kết nối mạng, bảng định tuyến, thống kê giao diện và nhiều thông tin khác liên quan tới hệ thống mạng Linux. Nó hữu ích cho việc gỡ lỗi mạng và phân tích hiệu năng.
Ngoài ra, nó cũng là một công cụ gỡ lỗi dịch vụ mạng cơ bản được sử dụng để kiểm tra chương trình nào đang lắng nghe ở các cổng nào. Ví dụ, lệnh sau sẽ hiển thị tất cả các cổng TCP đang ở chế độ lắng nghe và chương trình nào đang lắng nghe trên chúng.
$ 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
Để xem bảng định tuyến trong kernel, sử dụng cờ -r (tương đương với việc chạy lệnh route ở trên).
$ 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
Lưu ý: Mặc dù Netstat là một công cụ tuyệt vời, nhưng nó đã lỗi thời (không được khuyến nghị), công cụ thay thế của nó là lệnh ss được giải thích bên dưới.
11. Lệnh SS
ss (thống kê socket) là một công cụ mạnh mẽ dòng lệnh để điều tra socket. Nó hiển thị thống kê socket và hiển thị thông tin tương tự netstat. Ngoài ra, nó hiển thị thông tin TCP và trạng thái nhiều hơn so với các tiện ích tương tự khác.
Ví dụ sau cho thấy cách liệt kê tất cả các cổng TCP (socket) được mở trên một máy chủ.
$ 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 :::*
...
Để hiển thị tất cả các kết nối TCP hoạt động cùng với bộ đếm thời gian của chúng, chạy lệnh sau.
$ ss -to
12. Lệnh NC
NC (NetCat) còn được gọi là “đa chức năng “ ngụy trang mạng “,” là một công cụ mạnh mẽ được sử dụng cho bất kỳ tác vụ nào liên quan đến TCP, UDP hoặc UNIX-domain sockets. Nó được sử dụng để mở kết nối TCP, nghe trên các cổng TCP và UDP tùy ý, thực hiện quét cổng cũng như nhiều tác vụ khác.
Bạn cũng có thể sử dụng nó như một proxy TCP đơn giản, để kiểm tra xem các cổng từ xa có thể tiếp cận được hay không, và nhiều tác vụ khác nữa. Hơn nữa, bạn có thể sử dụng nc cùng với lệnh pv để truyền tệp tin giữa hai máy tính.
Ví dụ sau sẽ hiển thị cách quét danh sách các cổng.
$ nc -zv server2.tecmint.lan 21 22 80 443 3000
Bạn cũng có thể chỉ định một phạm vi cổng như được hiển thị.
$ nc -zv server2.tecmint.lan 20-90
Ví dụ sau cho thấy cách sử dụng nc để mở kết nối TCP đến cổng 5000 trên server2.tecmint.lan, sử dụng cổng nguồn 3000, với một thời gian chờ là 10 giây.
$ nc -p 3000 -w 10 server2.tecmint.lan 5000
13. Lệnh Nmap
Nmap (Network Mapper) là một công cụ mạnh mẽ và cực kỳ linh hoạt cho các quản trị viên hệ thống/mạng Linux. Nó được sử dụng để thu thập thông tin về một máy chủ duy nhất hoặc khám phá các mạng trong toàn bộ mạng. Nmap cũng được sử dụng để thực hiện quét bảo mật, kiểm tra mạng và tìm các cổng mở trên máy chủ từ xa và nhiều tác vụ khác nữa.
Bạn có thể quét một máy chủ bằng cách sử dụng tên máy chủ hoặc địa chỉ IP của nó, ví dụ.
$ 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
Hoặc bạn có thể sử dụng địa chỉ IP như hiển thị.
$ 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
Công cụ tra cứu DNS
14. Lệnh Host
Lệnh host là một tiện ích đơn giản để thực hiện tra cứu DNS, nó chuyển đổi tên máy chủ thành địa chỉ IP và ngược lại.
$ 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. Lệnh Dig
Lệnh dig (thông tin miền groper) cũng là một tiện ích tra cứu DNS đơn giản khác, được sử dụng để truy vấn thông tin liên quan đến DNS như A Record, CNAME, MX Record vv.
$ 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. Lệnh NSLookup
Nslookup cũng là một tiện ích dòng lệnh phổ biến cho phép truy vấn các máy chủ DNS, cả ở chế độ tương tác và không tương tác. Nó được sử dụng để truy vấn các bản ghi tài nguyên DNS (RR). Bạn có thể tìm thấy “bản ghi A” (địa chỉ IP) của một tên miền như được hiển thị.
$ 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
Bạn cũng có thể thực hiện một tra cứu miền ngược như hiển thị.
$ 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
Công cụ phân tích gói tin mạng Linux
17. Lệnh Tcpdump
Tcpdump là một công cụ gián điệp mạng dòng lệnh rất mạnh mẽ và được sử dụng rộng rãi. Nó được sử dụng để bắt và phân tích các gói tin TCP/IP được truyền hoặc nhận qua mạng trên một giao diện cụ thể.
Để bắt các gói tin từ một giao diện đã cho, chỉ định nó bằng tùy chọn -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 tecmint.com.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 > tecmint.com.ssh: Flags [.], ack 196, win 5202, options [nop,nop,TS val 2019058 ecr 2211778668], length 0
09:35:40.288269 IP tecmint.com.54899 > gateway.domain: 43760+ PTR? 103.0.168.192.in-addr.arpa. (44)
09:35:40.333763 IP gateway.domain > tecmint.com.54899: 43760 NXDomain* 0/1/0 (94)
09:35:40.335311 IP tecmint.com.52036 > gateway.domain: 44289+ PTR? 1.0.168.192.in-addr.arpa. (42)
Để bắt một số gói tin cụ thể, sử dụng tùy chọn -c để nhập số mong muốn.
$ tcpdump -c 5 -i eth1
Bạn cũng có thể bắt và lưu các gói tin vào một tệp tin để kiểm tra sau này, sử dụng cờ -w để chỉ định tệp đầu ra.
$ tcpdump -w captured.pacs -i eth1
18. Tiện ích Wireshark
Wireshark là một công cụ phổ biến, mạnh mẽ, đa năng và dễ sử dụng để bắt và phân tích các gói tin trong mạng chuyển giao theo gói, theo thời gian thực.
Bạn cũng có thể lưu dữ liệu mà nó đã bắt được vào tệp tin để kiểm tra sau này. Nó được sử dụng bởi các quản trị viên hệ thống và kỹ sư mạng để giám sát và kiểm tra các gói tin cho mục đích bảo mật và gỡ lỗi.
19. Công cụ Bmon
Bmon là một công cụ mạng dòng lệnh mạnh mẽ, được sử dụng để giám sát và gỡ lỗi thống kê liên quan đến mạng trên các hệ thống giống UNIX, nó bắt các thống kê liên quan đến mạng và hiển thị chúng theo hình thức dễ nhìn dễ đọc. Đó là công cụ giám sát băng thông thời gian thực và ước tính tốc độ hiệu quả và đáng tin cậy.
Công cụ quản lý tường lửa Linux
20. Tường lửa Iptables
iptables là một công cụ dòng lệnh để cấu hình, duy trì và kiểm tra các luật tường lửa gói tin IP và bộ quy tắc NAT. Nó được sử dụng để thiết lập và quản lý tường lửa Linux (Netfilter). Nó cho phép bạn liệt kê các quy tắc bộ lọc gói hiện có; thêm hoặc xóa hoặc sửa đổi các quy tắc bộ lọc gói; liệt kê bộ đếm theo quy tắc của quy tắc bộ lọc gói.
Bạn có thể tìm hiểu cách sử dụng Iptables cho các mục đích khác nhau từ các hướng dẫn đơn giản nhưng toàn diện của chúng tôi.
- Hướng dẫn cơ bản về IPTables (Tường lửa Linux) Mẹo/ Lệnh
- 25 Quy tắc tường lửa IPtable hữu ích mà Mọi Quản trị viên Linux Nên Biết
- Cách Cài đặt tường lửa Iptables để Kích hoạt Truy cập từ xa đến Dịch vụ
- Cách Chặn yêu cầu Ping ICMP đến Hệ thống Linux
21. Firewalld
Firewalld là một tiến trình mạnh mẽ và động để quản lý tường lửa Linux (Netfilter), tương tự như iptables. Nó sử dụng các “vùng mạng” thay vì CHUỖI INPUT, OUTPUT và FORWARD trong iptables. Trên các phân phối Linux hiện tại như RHEL/CentOS 7 và Fedora 21+, iptables đang bị thay thế bằng firewalld.
Để bắt đầu với firewalld, hãy tham khảo các hướng dẫn sau đây:
- Quy tắc Cin ‘FirewallD’ Hữu ích để Cấu hình và Quản lý Firewall trong Linux
- Cách Cấu hình ‘FirewallD’ trên RHEL/CentOS 7 và Fedora 21
- Cách Bắt đầu/Dừng và Kích hoạt/Vô hiệu hóa FirewallD và Iptables Firewall in Linux
- Thiết Lập Samba và Cấu hình ‘FirewallD’ và SELinux để Cho Phép Chia sẻ Tệp tin trên Linux/Windows
Quan trọng: Iptables vẫn được hỗ trợ và có thể được cài đặt bằng trình quản lý gói YUM. Tuy nhiên, bạn không thể sử dụng Firewalld và iptables cùng một lúc trên cùng một máy chủ - bạn phải chọn một.
22. UFW (Uncomplicated Firewall)
UFW là một công cụ cấu hình tường lửa được biết đến và là công cụ mặc định trong các phân phối Linux Debian và Ubuntu. Nó được sử dụng để kích hoạt/vô hiệu firewall hệ thống, thêm/xóa/sửa đổi/thiết lập lại các quy tắc bộ lọc gói và nhiều nhiều nữa.
Để kiểm tra trạng thái tường lửa UFW, gõ.
$ sudo ufw status
Nếu tường lửa UFW không hoạt động, bạn có thể kích hoạt hoặc bật nó bằng lệnh sau.
$ sudo ufw enable
Để vô hiệu hóa tường lửa UFW, sử dụng lệnh sau.
$ sudo ufw disable
Đọc bài viết của chúng tôi Cách Cài đặt Tường lửa UFW trên Ubuntu và Debian.
Nếu bạn muốn tìm hiểu thêm thông tin về một chương trình cụ thể, bạn có thể tham khảo các trang man của chúng cung cấp
$ man programs_name
Đó là tất cả cho bây giờ! Trong hướng dẫn toàn diện này, chúng tôi đã xem xét một số công cụ và tiện ích linux network command được sử dụng nhiều nhất cho quản lý mạng, theo các danh mục khác nhau, dành cho quản trị viên hệ thống và tương tự hữu ích cho các quản trị viên/hỗ trợ mạng toàn thời gian.