Khi nói đến việc truy cập thông tin liên quan đến socket thông qua dòng lệnh trong Linux, công cụ đầu tiên xuất hiện trong đầu là netstat. Tuy nhiên, có một tiện ích khác có thể thực hiện công việc này cho bạn.
Nó được gọi là ss. Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của công cụ này bằng một số ví dụ dễ hiểu. Nhưng trước khi thực hiện, cần lưu ý rằng tất cả các trường hợp ở đây đều đã được thử nghiệm trên máy Ubuntu 18.04 LTS.
Và đây là những gì trang hướng dẫn của công cụ nói về lệnh này:
Sau đây là một số ví dụ theo kiểu Hỏi & Đáp sẽ giúp bạn hiểu rõ hơn về cách lệnh ss hoạt động.
Sau đây là đầu ra mà lệnh tạo ra trong trường hợp của tôi:
Bạn sẽ nhận thấy rằng ss hiển thị các socket có kết nối đã thiết lập trong đầu ra mặc định của nó.
Ảnh chụp màn hình sau đây cho thấy tùy chọn dòng lệnh này đang hoạt động:
Vì vậy, bạn có thể thấy dòng tiêu đề bị thiếu trong trường hợp này.
Lưu ý rằng socket đang lắng nghe bị bỏ qua theo mặc định, do đó, sử dụng -a sẽ khiến ss bao gồm chúng trong đầu ra. Tuy nhiên, nếu bạn muốn ss chỉ hiển thị các socket đang lắng nghe, hãy sử dụng tùy chọn dòng lệnh -l.
Ảnh chụp màn hình sau đây hiển thị đầu ra trong trường hợp của tôi:
Vì vậy, bạn có thể thấy rằng thông tin tiến trình đang được hiển thị trong đầu ra.
Bản tóm tắt này có thể được tạo bằng tùy chọn dòng lệnh -s:
Ví dụ, sau đây là bản tóm tắt được cung cấp trong trường hợp của tôi:
Ví dụ, để ss chỉ hiển thị socket IPv4, hãy chạy lệnh sau:
Tương tự như đối với IPv6, hãy thực hiện lệnh sau:
Sau đây là một đoạn trích hữu ích từ trang hướng dẫn lệnh ss.
Nó được gọi là ss. Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của công cụ này bằng một số ví dụ dễ hiểu. Nhưng trước khi thực hiện, cần lưu ý rằng tất cả các trường hợp ở đây đều đã được thử nghiệm trên máy Ubuntu 18.04 LTS.
Lệnh ss của Linux
Lệnh ss trong Linux cho phép bạn điều tra các socket. Sau đây là cú pháp của lệnh này:
Mã:
ss [tùy chọn] [ BỘ LỌC ]
Mã:
ss được sử dụng để dump số liệu thống kê socket. Lệnh này cho phép hiển thị thông tin tương tự như netstat.
Nó có thể hiển thị nhiều thông tin TCP và trạng thái hơn các công cụ khác.
Câu hỏi 1. Làm thế nào để sử dụng lệnh ss?
Ở dạng cơ bản nhất, bạn có thể sử dụng lệnh ss bằng cách thực thi 'ss' mà không có bất kỳ tùy chọn nào.
Mã:
ss
Bạn sẽ nhận thấy rằng ss hiển thị các socket có kết nối đã thiết lập trong đầu ra mặc định của nó.
Câu hỏi 2. Làm thế nào để sssuppress dòng tiêu đề?
Có thể thực hiện việc loại bỏ tiêu đề bằng tùy chọn dòng lệnh -H.
Mã:
ss -H
Vì vậy, bạn có thể thấy dòng tiêu đề bị thiếu trong trường hợp này.
Câu hỏi 3. Làm thế nào để ss hiển thị cả socket đang lắng nghe và không lắng nghe?
Bạn có thể thực hiện việc này bằng tùy chọn dòng lệnh -a.
Mã:
ss -a
Mã:
ss -l
Câu hỏi 4. Làm thế nào để ss hiển thị các tiến trình bằng socket?
Nếu bạn muốn lệnh ss hiển thị thông tin tiến trình cùng với các thông tin khác mà nó đã tạo ra trong đầu ra, hãy sử dụng tùy chọn dòng lệnh -p.
Mã:
ss -p
Vì vậy, bạn có thể thấy rằng thông tin tiến trình đang được hiển thị trong đầu ra.
Câu hỏi 5. Làm thế nào để ss tạo ra thông tin tóm tắt?
Nếu bạn không muốn xem đầu ra mà lệnh ss tạo ra theo mặc định. Sau đó, có một tùy chọn mà bạn có thể yêu cầu ss cung cấp một bản tóm tắt nhỏ về thông tin mà nó phân tích.Bản tóm tắt này có thể được tạo bằng tùy chọn dòng lệnh -s:
Mã:
ss -s
Mã:
Tổng: 1334 (kernel 0)
TCP: 41 (estab 35, closed 3, orphaned 0, synrecv 0, timewait 3/0), ports 0
Transport Total IP IPv6
* 0 - -
RAW 1 0 1
UDP 7 5 2
TCP 38 37 1
INET 46 42 4
FRAG 0 0 0
Câu 6. Làm thế nào để ss chỉ hiển thị socket IPv4 hoặc IPv6?
Bạn có thể thực hiện việc này bằng cách sử dụng tùy chọn -4 và -6.Ví dụ, để ss chỉ hiển thị socket IPv4, hãy chạy lệnh sau:
Mã:
ss -4
Mã:
ss -6
Câu 7. Làm thế nào để ss chỉ hiển thị các socket TCP hoặc UDP?
Có nhiều tùy chọn dòng lệnh khác nhau mà bạn có thể sử dụng ở đây: -t cho TCP và -u cho UDP.Sau đây là một đoạn trích hữu ích từ trang hướng dẫn lệnh ss.
Mã:
-t, --tcp
Hiển thị các socket TCP.
-u, --udp
Hiển thị các socket UDP.
-d, --dccp
Hiển thị các socket DCCP.
-w, --raw
Hiển thị các socket RAW.
-x, --unix
Hiển thị các socket miền Unix (bí danh cho -f unix).
-S, --sctp
Hiển thị các socket SCTP.
--vsock
Hiển thị các socket vsock (bí danh cho -f vsock).