Giới thiệu
Trong lab này, bạn sẽ học cách sử dụng lệnh netstat
của Linux để giám sát và khắc phục sự cố các kết nối mạng và thống kê giao diện mạng. Lab này bao gồm mục đích và cú pháp của lệnh netstat
, khám phá các kết nối mạng bằng netstat
, và phân tích các thống kê mạng và khắc phục các sự cố mạng. Bạn sẽ có được kinh nghiệm thực tế trong việc sử dụng netstat
để hiểu trạng thái mạng của bạn và xác định các vấn đề tiềm ẩn.
Lab bắt đầu bằng cách giới thiệu lệnh netstat
, mục đích và cú pháp cơ bản của nó. Sau đó, nó hướng dẫn bạn khám phá các kết nối mạng bằng netstat
, bao gồm hiển thị các kết nối đang hoạt động, các cổng đang lắng nghe và các tiến trình được liên kết với mỗi kết nối. Cuối cùng, lab này bao gồm việc sử dụng netstat
để phân tích thống kê mạng và khắc phục các sự cố mạng, chẳng hạn như xác định mức sử dụng mạng cao hoặc các vấn đề kết nối.
Tìm hiểu Mục đích và Cú pháp của Lệnh netstat
Trong bước này, bạn sẽ tìm hiểu về mục đích và cú pháp cơ bản của lệnh netstat
trong Linux. Lệnh netstat
là một công cụ mạnh mẽ để giám sát và khắc phục sự cố các kết nối mạng và thống kê giao diện mạng.
Để bắt đầu, hãy khám phá cú pháp cơ bản của lệnh netstat
:
$ netstat [options]
Các tùy chọn phổ biến nhất được sử dụng với netstat
là:
-a
: Hiển thị tất cả các kết nối mạng và các cổng đang lắng nghe-n
: Hiển thị địa chỉ số thay vì phân giải tên máy chủ-t
: Hiển thị các kết nối TCP-u
: Hiển thị các kết nối UDP-p
: Hiển thị ID tiến trình và tên liên kết với mỗi kết nối-s
: Hiển thị thống kê mạng
Hãy thử một vài ví dụ để hiểu đầu ra của lệnh netstat
:
$ sudo netstat -antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 5678/mysqld
tcp 0 0 192.168.1.100:22 192.168.1.101:50036 ESTABLISHED 1234/sshd
Ví dụ đầu ra:
- Lệnh
netstat -antp
hiển thị tất cả các kết nối TCP đang hoạt động, bao gồm cả các cổng đang lắng nghe và các kết nối đã được thiết lập. - Đầu ra hiển thị giao thức, địa chỉ cục bộ và địa chỉ nước ngoài, trạng thái kết nối và ID tiến trình và tên chương trình được liên kết với mỗi kết nối.
Điều này cung cấp cho bạn một sự hiểu biết cơ bản về lệnh netstat
và cú pháp của nó. Trong bước tiếp theo, bạn sẽ khám phá cách sử dụng nâng cao hơn của netstat
để phân tích các kết nối mạng.
Khám phá Kết nối Mạng Sử dụng Lệnh netstat
Trong bước này, bạn sẽ học cách sử dụng lệnh netstat
để khám phá và phân tích các kết nối mạng trên hệ thống của bạn.
Hãy bắt đầu bằng cách hiển thị tất cả các kết nối mạng đang hoạt động, bao gồm cả các cổng đang lắng nghe và các kết nối đã được thiết lập:
$ sudo netstat -antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 5678/mysqld
tcp 0 0 192.168.1.100:22 192.168.1.101:50036 ESTABLISHED 1234/sshd
Ví dụ đầu ra:
- Lệnh
netstat -antp
hiển thị tất cả các kết nối TCP đang hoạt động, bao gồm cả các cổng đang lắng nghe và các kết nối đã được thiết lập. - Đầu ra hiển thị giao thức, địa chỉ cục bộ và địa chỉ nước ngoài, trạng thái kết nối và ID tiến trình và tên chương trình được liên kết với mỗi kết nối.
Bây giờ, hãy lọc đầu ra để chỉ hiển thị các cổng đang lắng nghe:
$ sudo netstat -antp | grep LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 5678/mysqld
Ví dụ đầu ra:
- Bộ lọc
grep LISTEN
chỉ hiển thị các kết nối mạng ở trạng thái LISTEN, cho biết rằng hệ thống đang lắng nghe các kết nối đến trên các cổng đó.
Để chỉ hiển thị các kết nối đã được thiết lập, bạn có thể sử dụng lệnh sau:
$ sudo netstat -antp | grep ESTABLISHED
tcp 0 0 192.168.1.100:22 192.168.1.101:50036 ESTABLISHED 1234/sshd
Ví dụ đầu ra:
- Bộ lọc
grep ESTABLISHED
chỉ hiển thị các kết nối mạng ở trạng thái ESTABLISHED, cho biết rằng kết nối đang hoạt động và dữ liệu có thể được trao đổi.
Bằng cách sử dụng các tùy chọn và bộ lọc khác nhau với lệnh netstat
, bạn có thể khám phá và phân tích các kết nối mạng trên hệ thống của bạn một cách chi tiết.
Phân tích Thống kê Mạng và Khắc phục Sự cố Mạng
Trong bước cuối cùng này, bạn sẽ học cách sử dụng lệnh netstat
để phân tích thống kê mạng và khắc phục các sự cố mạng trên hệ thống của bạn.
Đầu tiên, hãy hiển thị thống kê mạng tổng thể bằng tùy chọn -s
:
$ sudo netstat -s
Ip:
Forwarding: 2
...
Tcp:
Active opens: 10
Passive opens: 5
...
Udp:
InDatagrams: 100
NoPorts: 20
...
Ví dụ đầu ra:
- Lệnh
netstat -s
hiển thị một loạt các thống kê mạng, bao gồm thống kê IP, TCP và UDP. - Thông tin này có thể hữu ích để xác định các vấn đề tiềm ẩn về hiệu suất mạng hoặc các điểm bất thường.
Tiếp theo, hãy xem xét kỹ hơn các thống kê giao diện mạng bằng tùy chọn -i
:
$ sudo netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
enp0s3 1500 0 12345 0 0 0 54321 0 0 0 BMRU
lo 65536 0 54321 0 0 0 12345 0 0 0 LRU
Ví dụ đầu ra:
- Lệnh
netstat -i
hiển thị thống kê chi tiết cho mỗi giao diện mạng, bao gồm số lượng gói tin đã nhận và đã truyền, cũng như số lượng lỗi và số lượng gói tin bị loại bỏ. - Thông tin này có thể giúp bạn xác định các vấn đề tiềm ẩn của giao diện mạng, chẳng hạn như tỷ lệ lỗi hoặc tỷ lệ gói tin bị loại bỏ cao.
Cuối cùng, hãy sử dụng lệnh netstat
để khắc phục sự cố kết nối mạng. Giả sử bạn đang gặp sự cố kết nối với một máy chủ từ xa. Bạn có thể sử dụng lệnh sau để điều tra vấn đề:
$ sudo netstat -antp | grep 192.168.1.101
tcp 0 0 192.168.1.100:22 192.168.1.101:50036 ESTABLISHED 1234/sshd
Ví dụ đầu ra:
- Lệnh
netstat -antp | grep 192.168.1.101
tìm kiếm bất kỳ kết nối đang hoạt động nào đến địa chỉ IP192.168.1.101
. - Đầu ra cho thấy có một kết nối SSH đã được thiết lập giữa hệ thống cục bộ (
192.168.1.100
) và máy chủ từ xa (192.168.1.101
). - Thông tin này có thể giúp bạn xác định xem sự cố kết nối có nằm trên hệ thống cục bộ hay hệ thống từ xa hay không, hoặc nếu sự cố nằm ở cơ sở hạ tầng mạng giữa hai hệ thống.
Bằng cách sử dụng các tùy chọn và tính năng khác nhau của lệnh netstat
, bạn có thể phân tích hiệu quả thống kê mạng và khắc phục các sự cố mạng trên hệ thống Linux của bạn. Một SystemAdmin lành nghề cần nắm vững công cụ này.
Tóm tắt
Trong lab này, trước tiên bạn đã tìm hiểu về mục đích và cú pháp cơ bản của lệnh netstat
trong Linux. Lệnh netstat
là một công cụ mạnh mẽ để giám sát và khắc phục sự cố các kết nối mạng và thống kê giao diện mạng. Bạn đã khám phá các tùy chọn phổ biến nhất được sử dụng với netstat
, chẳng hạn như -a
để hiển thị tất cả các kết nối mạng và các cổng đang lắng nghe, -n
để hiển thị địa chỉ số thay vì phân giải tên máy chủ và -p
để hiển thị ID tiến trình và tên được liên kết với mỗi kết nối.
Tiếp theo, bạn đã học cách sử dụng lệnh netstat
để khám phá và phân tích các kết nối mạng trên hệ thống của bạn. Bạn bắt đầu bằng cách hiển thị tất cả các kết nối mạng đang hoạt động, bao gồm cả các cổng đang lắng nghe và các kết nối đã được thiết lập, bằng lệnh netstat -antp
. Điều này cung cấp cho bạn thông tin chi tiết về giao thức, địa chỉ cục bộ và địa chỉ nước ngoài, trạng thái kết nối và ID tiến trình và tên chương trình được liên kết với mỗi kết nối.