欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

linux ss命令詳解

 更新時間:2018年02月24日 14:19:10   作者:sparkdev  
這篇文章主要介紹了linux ss命令詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

ss 是 Socket Statistics 的縮寫。ss 命令可以用來獲取 socket 統(tǒng)計信息,它顯示的內容和 netstat 類似。但 ss 的優(yōu)勢在于它能夠顯示更多更詳細的有關 TCP 和連接狀態(tài)的信息,而且比 netstat 更快。當服務器的 socket 連接數(shù)量變得非常大時,無論是使用 netstat 命令還是直接 cat /proc/net/tcp,執(zhí)行速度都會很慢。ss 命令利用到了 TCP 協(xié)議棧中 tcp_diag。tcp_diag 是一個用于分析統(tǒng)計的模塊,可以獲得 Linux 內核中第一手的信息,因此 ss 命令的性能會好很多。

常用選項

-h, --help 幫助
-V, --version 顯示版本號
-t, --tcp 顯示 TCP 協(xié)議的 sockets
-u, --udp 顯示 UDP 協(xié)議的 sockets
-x, --unix 顯示 unix domain sockets,與 -f 選項相同
-n, --numeric 不解析服務的名稱,如 "22" 端口不會顯示成 "ssh"
-l, --listening 只顯示處于監(jiān)聽狀態(tài)的端口
-p, --processes 顯示監(jiān)聽端口的進程(Ubuntu 上需要 sudo)
-a, --all 對 TCP 協(xié)議來說,既包含監(jiān)聽的端口,也包含建立的連接
-r, --resolve 把 IP 解釋為域名,把端口號解釋為協(xié)議名稱

常見用例

如果不添加選項 ss 命令默認輸出所有建立的連接(不包含監(jiān)聽的端口),包括 tcp, udp, and unix socket 三種類型的連接:

查看主機監(jiān)聽的端口

$ ss -tnl

通過 -r 選項解析 IP 和端口號

$ ss -tlr

使用 -p 選項查看監(jiān)聽端口的程序名稱

$ sudo ss -tlp

最后一列就是運行的程序名稱。還可以通過 grep 繼續(xù)過濾:

$ sudo ss -tlp | grep ssh

查看建立的 TCP 連接

-a --all 對 TCP 協(xié)議來說,既包含監(jiān)聽的端口,也包含建立的連接

$ ss -tna

顯示更多的信息

-o, --options 顯示時間信息
-m, --memory 顯示 socket 使用的內存
-i, --info 顯示更多 TCP 內部的信息

顯示概要信息

$ ss -s

dst/src dport/sport 語法

可以通過 dst/src/dport/sprot 語法來過濾連接的來源和目標,來源端口和目標端口。

匹配遠程地址和端口號

$ ss dst 192.168.1.5
$ ss dst 192.168.119.113:http
$ ss dst 192.168.119.113:443

匹配本地地址和端口號

$ ss src 192.168.119.103
$ ss src 192.168.119.103:http
$ ss src 192.168.119.103:80

將本地或者遠程端口和一個數(shù)比較

可以使用下面的語法做端口號的過濾:

$ ss dport OP PORT
$ ss sport OP PORT

OP 可以代表以下任意一個:

<= le 小于或等于某個端口號
>= ge 大于或等于某個端口號
== eq 等于某個端口號
!= ne 不等于某個端口號
> gt 大于某個端口號
< lt 小于某個端口號

下面是一個簡單的 demo(注意,需要對尖括號使用轉義符):

$ ss -tunl sport lt 50
$ ss -tunl sport \< 50

通過 TCP 的狀態(tài)進行過濾

ss 命令還可以通過 TCP 連接的狀態(tài)進程過濾,支持的 TCP 協(xié)議中的狀態(tài)有:
established
syn-sent
syn-recv
fin-wait-1
fin-wait-2
time-wait
closed
close-wait
last-ack
listening
closing

除了上面的 TCP 狀態(tài),還可以使用下面這些狀態(tài):

all 列出所有的 TCP 狀態(tài)。
connected 列出除了 listening 和 closing 之外的所有 TCP 狀態(tài)。
synchronized 列出除了 syn-sent 之外的所有 TCP 狀態(tài)。
bucket 列出 maintained 的狀態(tài),如:time-wait 和 syn-recv。
big 列出和 bucket 相反的狀態(tài)。

使用 ipv4 時的過濾語法如下:

$ ss -4 state filter

使用 ipv6 時的過濾語法如下:

$ ss -6 state filter

下面是一個簡單的例子:

$ ss -4 state listening

同時過濾 TCP 的狀態(tài)和端口號

(注意下面命令中的轉義符和空格,都是必須的。如果不用轉義符,可以使用單引號)

下面的命令顯示所有狀態(tài)為 established 的 ssh 連接:

$ ss -4n state listening

下面的兩種寫法是等價的,要有使用 \ 轉義小括號,要么使用單引號括起來:

$ ss -4n state listening \( dport = :ssh \)
$ ss -4n state listening '( dport = :ssh )' 

只是最后的結果稍微讓人有些意外,不僅顯示了監(jiān)聽的端口,也顯示了通過 22 端口建立的連接。

下面我們顯示所有狀態(tài)為 Established 的 HTTP 連接:

$ ss -4n state listening \( dport = :ssh \)
$ ss -4n state listening '( dport = :ssh )' 

下面的命令列出所有連接到 22 端口的連接和對 22 端口的監(jiān)聽:

$ ss state all dport = :22

下面是一個來自 ss man page 的例子,它列舉出處于 FIN-WAIT-1狀態(tài)的源端口為 80 或者 443,目標網絡為 193.233.7/24 所有 TCP 套接字:

$ ss state fin-wait-1 '( sport = :http or sport = :https )' dst 193.233.7/24 

總結

由于性能出色且功能豐富,ss 命令可以用來替代 netsate 命令成為我們日常查看 socket 相關信息的利器。其實拋棄 netstate 命令已經是大勢所趨,有的 Linux 版本默認已經不再內置 netstate 而是內置了 ss 命令。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Ubuntu下kaldi安裝配置圖文教程

    Ubuntu下kaldi安裝配置圖文教程

    這篇文章主要介紹了Ubuntu下kaldi安裝配置圖文教程,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-08-08
  • CentOS安裝Python2.7與Python2.6并存的方法

    CentOS安裝Python2.7與Python2.6并存的方法

    這篇文章主要介紹了CentOS安裝Python2.7與Python2.6并存的方法,非常具有實用價值,需要的朋友可以參考下
    2017-08-08
  • 詳解Linux系統(tǒng)中網卡MAC地址克隆方法

    詳解Linux系統(tǒng)中網卡MAC地址克隆方法

    本篇文章主要介紹了詳解Linux系統(tǒng)中網卡MAC地址克隆方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 一文詳解Linux三種網絡設置方式

    一文詳解Linux三種網絡設置方式

    我們在使用虛擬機搭建linux系統(tǒng)后,常常需要設置系統(tǒng)網絡連接,以方便系統(tǒng)進行上網或其他系統(tǒng)連接系統(tǒng)進行操作,在linux中網絡連接分了三類:橋接模式,僅主機模式,NAT模式,本文我們將對這三種模式進行講解,感興趣的同學可以參考閱讀
    2023-06-06
  • linux驅動開發(fā)中常用函數(shù)copy_from_user open read write詳解

    linux驅動開發(fā)中常用函數(shù)copy_from_user open read write詳解

    本文解說了inux驅動開發(fā)函數(shù)copy_from_user ,open ,read write幾個常用函數(shù),現(xiàn)在一起來學習他們的使用過程吧
    2021-08-08
  • Ubuntu16.04下CUDA8.0和CUDA9.0共存

    Ubuntu16.04下CUDA8.0和CUDA9.0共存

    這篇文章主要介紹了Ubuntu16.04下CUDA8.0和CUDA9.0共存,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • Linux od命令詳細介紹及用法實例

    Linux od命令詳細介紹及用法實例

    這篇文章主要介紹了Linux od命令詳細介紹及用法實例的相關資料,這里對Linux od命令的格式,命令選項及用法一一介紹詳解,需要的朋友可以參考下
    2017-01-01
  • linux設置tomcat自啟動的方法

    linux設置tomcat自啟動的方法

    這篇文章主要介紹了linux設置tomcat自啟動的方法,需要的朋友可以參考下
    2014-03-03
  • Linux與windows文件傳輸詳解及實例

    Linux與windows文件傳輸詳解及實例

    這篇文章主要介紹了Linux與windows文件傳輸詳解及實例的相關資料,需要的朋友可以參考下
    2017-03-03
  • linux編程之pipe()函數(shù)詳解

    linux編程之pipe()函數(shù)詳解

    本篇文章主要介紹了linux編程之pipe()函數(shù)詳解,具有一定的參考價值,有需要的可以了解一下。
    2016-11-11

最新評論