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ý các 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 dòng lệnh phổ biến để quản lý mạng trong Linux ở 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 thông thường của lệnh mạng Linux giúp quản lý mạng trở nên dễ dàng hơn. Danh sách này cũng hữu ích đối với các kỹ sư mạng Linux chuyên nghiệp.
ifconfig là một công cụ giao diện dòng lệnh dùng để 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 hệ thống khởi động. Sau khi máy chủ được khởi động, nó có thể được sử dụng để gán một địa chỉ IP cho một giao diện và bật/tắt giao diện theo yêu cầu.
ifconfig 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 (Maximum Transmission Unit - Đơn vị truyền tải tối đa) của các giao diện đang hoạt động. Do đó, ifconfig hữu ích cho việc gỡ lỗi hoặc điều chỉnh hệ thống.
Dưới đây là một ví dụ để hiển thị trạng thái 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ó trên hệ thống, bao gồm cả giao diện đã kích hoạt và chưa kích hoạt, bạn sử dụng tùy chọn -a.
$ ifconfig -a
Để gán một địa chỉ IP cho một giao diện, bạ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, bạn sử dụng lệnh sau.
$ sudo ifconfig up eth0
Để kích hoạt một giao diện mạng, bạn sử dụng lệnh sau.
$ sudo ifconfig down eth0
Lưu ý: Mặc dù ifconfig là một công cụ tuyệt vời, nhưng hiện nay nó đã được gỡ bỏ (không khuyến nghị sử dụng), và công cụ thay thế của nó là lệnh ip được giải thích dưới đây.
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 định tuyến, thiết bị mạng, giao diện. Đây là một công cụ thay thế cho ifconfig và nhiều lệnh mạng khác. (Đọc bài viết "Sự khác nhau giữa lệnh ifconfig và ip Command" để 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õ lệnh sau.
$ sudo ip addr add 192.168.56.1 dev eth0
Để xóa địa chỉ IP đã gán cho một giao diện mạng (eth0), gõ lệnh sau.
$ 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õ lệnh sau.
$ ip neigh 192.168.0.1 dev enp1s0 lladdr 10:fe:ed:3d:f3:82 REACHABLE
Lệnh ifup kích hoạt một giao diện mạng, làm cho nó có sẵn để truyền và nhận dữ liệu.
$ sudo ifup eth0
Lệnh ifdown vô hiệu hóa một giao diện mạng, giữ cho 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 câu trả lời về cách giao diện đó hiện được cấu hình.
$ sudo ifquery eth0
ethtool là một tiện ích dòng lệnh dùng để truy vấn và chỉnh sửa 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 cho thấy 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
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ạng (Mạng Cục Bộ (LAN) hoặc Mạng Rộng (WAN)). Nó sử dụng giao thức ICMP (Internet Control Message Protocol) để giao tiếp với các nút trên mạng.
Để kiểm tra kết nối tới một nút khác, chỉ cần cung cấp địa chỉ IP hoặc tên máy chủ, 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ể chỉ định cho lệnh ping thoát sau một số gói ECHO_REQUEST được chỉ định, bằng cách sử dụng tùy chọn -c như sau:
$ 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
Traceroute là một tiện ích dòng lệnh được sử dụng để theo dõi toàn bộ đường đi từ hệ thống cục bộ của bạn đến một hệ thống mạng khác. Nó in ra một số bước nhảy (địa chỉ IP của các router) trên đường mà bạn đi để đến máy chủ cuối cùng. Đây là một tiện ích giúp dễ dàng xác định sự cố mạng sau lệnh ping.
Trong ví dụ này, chúng ta sẽ theo dõi đường dẫn 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 là 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
MTR (My Traceroute) 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ả đầu ra 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 đơn giản 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 192.168.0.1 0.0% 41 0.5 0.6 0.4 1.7 0.2 5.5.5.215 0.0% 40 1.9 1.5 0.8 7.3 1.0 209.snat-111-91-120.hns.net.in 23.1% 40 1.9 2.7 1.7 10.5 1.6 72.14.194.226 0.0% 40 89.1 5.2 2.2 89.1 13.7 108.170.248.193 0.0% 40 3.0 4.1 2.4 52.4 7.8 108.170.237.43 0.0% 40 2.9 5.3 2.5 94.1 14.4 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ới một giá trị cụ thể và thoát khỏi MTR sau các ping đó bằng cách sử dụng tùy chọn -c như được thể hiện dưới đây.
$ mtr -c 4 google.com
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 hệ thống Linux. Nó chủ yếu được sử dụng để cấu hình các tuyến 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 của Kernel bằng cách gõ lệnh sau.
$ 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
Thêm một cổng mặc định vào bảng định tuyến. Để thêm một cổng mặc định vào bảng định tuyến, sử dụng lệnh sau:
$ sudo route add default gw <gateway-ip>
Thêm một tuyến mạng vào bảng định tuyến.
$ sudo route add -net <network ip/cidr> gw <gateway ip> <interface>
Xóa một mục tuyến cụ thể khỏi bảng định tuyến.
$ sudo route del -net <network ip/cidr>
Nmcli là một công cụ dòng lệnh dễ sử dụng và có thể được viết thành script để báo cáo tình trạng mạng, quản lý kết nối mạng và kiểm soát NetworkManager.
Để xem tất cả các thiết bị mạng của bạn, nhập lệnh sau.
$ nmcli dev status DEVICE TYPE STATE CONNECTION virbr0 bridge connected virbr0 enp0s3 ethernet connected Wired connection 1
Để kiểm tra các kết nối mạng trên hệ thống của bạn, nhập lệnh sau.
$ 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 đang hoạt động, thêm cờ -a.
$ nmcli con show -a
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 đến hệ thống mạng Linux. Nó hữu ích cho việc sửa lỗi mạng và phân tích hiệu suất.
Ngoài ra, nó cũng là một công cụ quan trọng để gỡ lỗi dịch vụ mạng, dùng để kiểm tra chương trình nào đang lắng nghe trên các cổng nào. Ví dụ, lệnh sau sẽ hiển thị tất cả các cổng TCP đang 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 của kernel, sử dụng tùy chọn -r (tương đương với 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ó hiện đã lỗi thời (không còn được khuyến nghị sử dụng), và ss là công cụ thay thế đã được giới thiệu dưới đây.
ss (thống kê socket) là một công cụ mạnh mẽ dòng lệnh để khám phá các socket. Nó hiển thị thông tin thống kê socket và hiển thị thông tin tương tự như netstat. Ngoài ra, nó cung cấp nhiều thông tin TCP và trạng thái hơn so với các tiện ích tương tự khác.
Ví dụ dưới đây cho thấy cách liệt kê tất cả các cổng TCP (socket) đang 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 đang hoạt động cùng với bộ hẹn giờ của chúng, chạy lệnh sau.
$ ss -to
NC (NetCat), còn được gọi là "Swiss Army knife mạng", là một tiện ích mạnh mẽ được sử dụng cho hầu hết các nhiệm vụ liên quan đến TCP, UDP hoặc các socket UNIX-domain. Nó được sử dụng để mở các kết nối TCP, lắng nghe trên các cổng TCP và UDP tùy ý, thực hiện quét cổng và 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 sự kết nối đến các cổng từ xa và nhiều công dụng khác. 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ẽ chỉ ra 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 dải cổng như được thể hiện dưới đây.
$ nc -zv server2.tecmint.lan 20-90
Ví dụ dưới đây cho thấy cách sử dụng nc để mở một kết nối TCP tới cổng 5000 trên server2.tecmint.lan, sử dụng cổng nguồn là 3000, với thời gian chờ là 10 giây.
$ nc -p 3000 -w 10 server2.tecmint.lan 5000
Nmap (Network Mapper) là một công cụ mạnh mẽ và cực kỳ linh hoạt dành 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á mạng 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 các máy chủ từ xa và còn nhiều tính năng khác.
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, 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ư ví dụ dưới đây.
$ 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
Lệnh "host" là một tiện ích đơn giản để thực hiện các truy vấn DNS, nó chuyển đổi tên miền 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.
Lệnh "dig" (domain information groper) cũng là một tiện ích đơn giản để truy vấn thông tin liên quan đến DNS như A Record, CNAME, MX Record,... Ví dụ:
$ 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
Nslookup cũng là một tiện ích dòng lệnh phổ biến để truy vấn 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 hiểu bản ghi "A" (địa chỉ IP) của một tên miền như sau.
$ 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 việc tìm kiếm ngược tên miền như được hiển thị dưới đây.
$ 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
Tcpdump là một công cụ giám sát mạng mạnh mẽ và được sử dụng rộng rãi dòng lệnh. 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 trên 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, hãy chỉ định nó bằng cách sử dụ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ố lượng 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 để phân tích sau này, sử dụng cờ -w để chỉ định tệp đầu ra.
$ tcpdump -w captured.pacs -i eth1
Wireshark là một công cụ phổ biến, mạnh mẽ, linh hoạt và dễ sử dụng để bắt và phân tích các gói tin trong mạng chuyển giao dữ liệu theo gói, thời gian thực.
Bạn cũng có thể lưu dữ liệu mà nó bắt được vào một tệp để 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à xử lý sự cố.
Giám sát lưu lượng mạng cục bộ
bmon là một công cụ mạnh mẽ dựa trên dòng lệnh để giám sát và gỡ lỗi mạng trên các hệ thống tương tự Unix. Nó thu thập thống kê liên quan đến mạng và hiển thị chúng theo định dạng thân thiện với con người. bmon là một công cụ đáng tin cậy và hiệu quả để theo dõi băng thông thời gian thực và ước tính tỷ lệ truyền tải.
bmon – Giám sát băng thông mạng Linux
iptables là một công cụ dòng lệnh dùng để cấu hình, duy trì và kiểm tra bảng quy tắc lọc gói tin IP và NAT. Nó được sử dụng để thiết lập và quản lý tường lửa Linux (Netfilter). iptables cho phép bạn liệt kê các quy tắc lọc gói tin hiện có, thêm, xóa hoặc sửa đổi các quy tắc lọc gói tin, cũng như liệt kê số lượng gói tin của từng quy tắc.
Firewalld là một daemon mạnh mẽ và linh hoạt để quản lý tường lửa Linux (Netfilter), tương tự như iptables. Firewalld sử dụng "network zones" thay vì các CHAIN INPUT, OUTPUT và FORWARD trong iptables. Trên các phiên bản Linux hiện tại như RHEL/CentOS 7 và Fedora 21+, firewalld đang được sử dụng để thay thế iptables.
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 cùng lúc Firewalld và iptables trên cùng một máy chủ - bạn phải chọn một trong hai.
UFW là một công cụ cấu hình tường lửa được biết đến và mặc định trên các bản phân phối Debian và Ubuntu Linux. Nó được sử dụng để bật/tắt tường lửa hệ thống, thêm/xóa/sửa đổi/thiết lập lại các quy tắc lọc gói tin và nhiều chức năng khác.
Để 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 câu lệnh sau đây.
$ sudo ufw enable
Để vô hiệu hóa tường lửa UFW, sử dụng câu lệnh sau đây.
$ sudo ufw disable
Nếu bạn muốn tìm thông tin chi tiết về một chương trình cụ thể, bạn có thể tra cứu các trang hướng dẫn (man pages) của nó như sau.
$ man programs_name
Trong hướng dẫn tổng quan này đã đề cập đến một số công cụ và tiện ích dòng lệnh mạng Linux phổ biến để quản lý mạng trong hệ thống. Chúng được xếp theo các danh mục khác nhau, phù hợp cho các quản trị viên hệ thống và cũng hữu ích cho các quản trị viên/kỹ sư mạng chuyên nghiệp.
Tips: Tham gia Channel Telegram KDATA để không bỏ sót khuyến mãi hot nào