10 basic examples of linux netstat command

Netstat

Netstat là một tiện ích dòng lệnh có thể được sử dụng để liệt kê tất cả các kết nối mạng (socket) trên một hệ thống. Nó liệt kê tất cả các kết nối tcp, udp socket và các kết nối unix socket.

Ngoài ổ cắm kết nối nó cũng có thể danh sách ổ cắm nghe mà đang chờ các kết nối đến. Vì vậy, bằng cách xác minh một cổng mở 80 bạn có thể xác nhận nếu một máy chủ web đang chạy trên hệ thống hay không. Điều này làm cho nó trở thành một công cụ rất hữu ích cho các quản trị viên mạng và hệ thống.

Trong hướng dẫn này chúng ta sẽ kiểm tra vài ví dụ về cách sử dụng netstat để tìm thông tin về các kết nối mạng và các cổng mở trên một hệ thống.

Đây là một giới thiệu nhanh chóng để netstat từ các trang người đàn ông

Netstat - In các kết nối mạng, bảng định tuyến, thống kê giao diện, kết nối giả mạo, và các thành viên nhóm multicast

1. Liệt kê tất cả các kết nối

Lệnh đầu tiên và đơn giản nhất là liệt kê tất cả các kết nối hiện tại. Đơn giản chỉ cần chạy lệnh netstat với một tùy chọn.

$ Netstat -a

Lệnh trên cho thấy tất cả các kết nối từ các giao thức khác nhau như tcp, udp và unix. Tuy nhiên điều này không phải là khá hữu ích. Các quản trị viên thường muốn chọn ra các kết nối cụ thể dựa trên các giao thức hoặc các số cổng.

2. Chỉ liệt kê các kết nối TCP hoặc UDP

Để liệt kê ra các kết nối tcp chỉ sử dụng các tùy chọn t.

$ Netstat -at

Tương tự như danh sách chỉ các kết nối udp chỉ sử dụng tùy chọn u.

$ Netstat -au

Đầu ra trên cho thấy cả hai kết nối ipv4 và ipv6.

3. Disable dns đảo ngược tra cứu cho sản lượng nhanh hơn

Theo mặc định, lệnh netstat cố tìm ra tên máy của mỗi địa chỉ IP trong kết nối bằng cách thực hiện tra cứu dns đảo ngược. Điều này làm chậm đầu ra. Nếu bạn không cần phải biết tên máy chủ và chỉ cần địa chỉ ip là đủ thì tắt các tra cứu tên máy với n tùy chọn.

$ Netstat -ant

Lệnh trên cho thấy tất cả kết nối TCP với độ phân giải NO dns. Hiểu rồi ? Tốt.

4. Liệt kê các kết nối nghe

Bất kỳ daemon mạng / dịch vụ giữ một cổng mở để lắng nghe các kết nối đến. Đây cũng giống như kết nối ổ cắm và được liệt kê ra bởi netstat. Để xem các cổng chỉ nghe sử dụng tùy chọn l.

$ Netstat-tnl

Bây giờ chúng ta chỉ có thể thấy các cổng / kết nối tcp. Nếu bạn muốn xem tất cả các cổng lắng nghe, loại bỏ các tùy chọn t. Nếu bạn muốn xem chỉ nghe UDP cổng sử dụng các tùy chọn u thay vì t.
Hãy chắc chắn để loại bỏ các 'một' tùy chọn, nếu không tất cả các kết nối sẽ được liệt kê và không chỉ là các kết nối nghe.

5. Lấy tên quá trình / id người dùng và id

Khi xem các cổng và kết nối mở / nghe, thông thường nó rất hữu ích khi biết tên quá trình / pid đã mở cổng hoặc kết nối đó. Ví dụ máy chủ httpd Apache mở cổng 80. Vì vậy, nếu bạn muốn kiểm tra xem máy chủ http đang chạy hay không, hoặc máy chủ http đang chạy, apache hoặc nginx, hãy theo dõi tên quy trình.

Chi tiết quá trình được cung cấp bởi tùy chọn 'p'.

~ $ Sudo netstat -nlpt

Khi sử dụng tùy chọn p, netstat phải được chạy với các đặc quyền root, nếu không nó không thể phát hiện các pids của các tiến trình đang chạy với quyền root và hầu hết các dịch vụ như http và ftp thường chạy với quyền root.

Cùng với quá trình tên / pid của nó thậm chí còn hữu ích hơn để có được tên người dùng / uid sở hữu rằng quá trình cụ thể. Sử dụng tùy chọn e cùng với tùy chọn p để lấy tên người dùng.

$ Sudo netstat -ltpe

Ví dụ trên liệt kê các kết nối Lắng nghe các loại Tcp với Thông tin quy trình và Thông tin mở rộng.
Thông tin mở rộng chứa tên người dùng và inode của quy trình. Đây là một lệnh hữu ích cho các quản trị viên mạng.

Lưu ý - Nếu bạn sử dụng tùy chọn n với tùy chọn e, uid sẽ được liệt kê và không phải là tên người dùng.

6. In thống kê

Lệnh netstat cũng có thể in các thống kê mạng như tổng số gói tin nhận được và truyền theo kiểu giao thức và như vậy.

Để liệt kê thống kê của tất cả các loại gói tin

$ Netstat-s

Để in ra số liệu thống kê chỉ các giao thức lựa chọn như TCP hoặc UDP sử dụng các tùy chọn tương ứng như t và u cùng với tùy chọn s. Đơn giản!

7. Hiển thị thông tin định tuyến hạt nhân

Thông tin định tuyến hạt nhân có thể được in với tùy chọn r. Đây là đầu ra tương tự như được đưa ra bởi lệnh route. Chúng tôi cũng sử dụng tùy chọn n để vô hiệu hoá tra cứu tên máy.

$ Netstat -rn

8. In các giao diện mạng

Lệnh netstat cũng có thể in ra thông tin về các giao diện mạng. Tùy chọn i thực hiện nhiệm vụ.

$ Netstat -i

Đầu ra ở trên chứa thông tin ở định dạng thô. Để có được một phiên bản thân thiện hơn của con người sử dụng các tùy chọn e cùng với i.

$ Netstat -ie

Đầu ra ở trên tương tự với đầu ra được hiển thị bởi lệnh ifconfig.

9. Nhận sản lượng netstat liên tục

Netstat có thể kết nối thông tin kết nối liên tục với tùy chọn c.

$ Netstat -ct
Lệnh trên sẽ xuất các kết nối tcp liên tục.

10. Hiển thị thông tin nhóm multicast

Tùy chọn g sẽ hiển thị thông tin nhóm multicast cho các giao thức IPv4 và IPv6.

$ Netstat -g

Các ví dụ khác về lệnh netstat

Được rồi, chúng tôi đã đưa ra các ví dụ cơ bản về lệnh netstat ở trên. Bây giờ là thời gian để làm một số công cụ geek với phong cách.

In kết nối hoạt động

Các kết nối socket hoạt động đang ở trạng thái "ESTABLISHED". Vì vậy, để có được tất cả các kết nối hoạt động hiện tại sử dụng netstat với grep như sau

$ Netstat -atnp | Grep ESTA

Để xem danh sách kết nối hoạt động liên tục, hãy sử dụng lệnh watch cùng với netstat và grep

$ Watch -d -n0 "netstat -atnp | grep ESTA"
Kiểm tra nếu một dịch vụ đang chạy

Nếu bạn muốn kiểm tra nếu một máy chủ như http, smtp hay ntp đang chạy hay không, hãy sử dụng grep một lần nữa.

$ Sudo netstat -aple | Grep ntp

Vì vậy, chúng tôi thấy rằng máy chủ ntp đang chạy. Grep cho http hoặc smtp hoặc bất cứ điều gì bạn đang tìm kiếm.

Vâng, đó là hầu hết những gì netstat được sử dụng cho. Nếu bạn đang tìm kiếm thông tin nâng cao hơn hoặc muốn đào sâu hơn, hãy đọc sổ tay netstat (man netstat).

Và để lại phản hồi và đề xuất của bạn trong hộp ý kiến bên dưới.

http://www.binarytides.com/linux-netstat-command-examples/

Comments

Popular posts from this blog

Thiết lập card không dây trên Kali Linux

Monitor mode

Giới thiệu - Scapy