iptools `ss`, hiển thị tên tiến trình trên cùng một dòng trong terminal


4

Tôi đã quen với kết quả đầu ra netstat -taulpenvà mặc dù tôi không biết cụ thể tất cả các cờ làm gì, nó cung cấp một bảng chương trình mạng dễ đọc và khi chạy như sudo có thể hiển thị tất cả các tên quy trình nội tuyến với địa chỉ và ổ cắm họ lắng nghe, v.v.

Với sstôi gần gũi với:

$ ss -tlnp

  -n, --numeric    don't resolve service names
  -l, --listening  display listening sockets
  -p, --processes  show process using socket
  -t, --tcp        display only TCP sockets

Như bạn có thể tưởng tượng, điều này mang lại đầu ra như thế này: Tôi đã tự bọc các dòng khi chúng xuất hiện trong đầu ra của thiết bị đầu cuối:

State      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port 
LISTEN     0      50                                                  *:139                                                *:*      
users:(("smbd",874,33))
LISTEN     0      5                                           127.0.1.1:53                                                 *:*      
users:(("dnsmasq",1528,5))
LISTEN     0      128                                         127.0.0.1:631                                                *:*      
users:(("cupsd",782,11))

Vì vậy, vấn đề của tôi là tôi có rất nhiều không gian trong trình giả lập thiết bị đầu cuối của mình, nhưng ss rất chắc chắn trong việc bọc một vài cột đầu tiên với chiều rộng 100%, và các cột còn lại rơi ra và bọc lại, mặc dù không có dòng mới.

Câu trả lời:


5

1) Mặc dù một chương trình loại bỏ bối cảnh chiều rộng tty, như cat

$ ss -tlnp | less
$ ss -tlnp | cat
State      Recv-Q Send-Q        Local Address:Port          Peer Address:Port 
LISTEN     0      50                        *:139                      *:*      users:(("smbd",874,33))
LISTEN     0      5                 127.0.1.1:53                       *:*      users:(("dnsmasq",1528,5))
LISTEN     0      128               127.0.0.1:631                      *:*      users:(("cupsd",782,11))

2) Nói dối về chiều rộng tty của bạn với stty:

Tôi không coi đây là một giải pháp vì nó liên quan đến việc sửa đổi môi trường theo cách thủ công để đạt được hiệu quả trong bối cảnh của chương trình.

Nhưng điều này không hiệu quả, tôi nghĩ rằng tôi sẽ không bao giờ bận tâm sử dụng nó:

# Tell the environment this terminal is only 80 chars wide
# (or however slim you need to view the overflow)
$ stty cols 80

$ ss -tlnp
State      Recv-Q Send-Q        Local Address:Port          Peer Address:Port 
LISTEN     0      50                        *:139                      *:*      users:(("smbd",874,33))
LISTEN     0      5                 127.0.1.1:53                       *:*      users:(("dnsmasq",1528,5))
LISTEN     0      128               127.0.0.1:631                      *:*      users:(("cupsd",782,11))

Các catgiải pháp không may phá vỡ bảng - địa chỉ cục bộ không còn liên kết bên trái và tất cả các cột sau không thẳng hàng (chuyển một cách ngẫu nhiên trái / phải) cũng :-( Thử nghiệm trên tươi CentOS 7..
monnef

Điều quan trọng cần lưu ý là nếu bạn vẫn không thể xem thông tin người dùng, có lẽ bạn không chạy ss với quyền root. Nó cần được chạy với các đặc quyền leo thang để hiển thị cho bạn quá trình người dùng.
Brian Sidebotham
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.