<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    比 netstat 好用嗎??Linux 系統中網絡狀態工具 ss 命令詳解

    一顆小胡椒2022-01-24 22:46:47

    s等命令用于socket狀態。他可以顯示PACKET sockets,TCP sockets,UDP sockets,DCCP sockets,RAW sockets,Unix domain sockets。它比其他工具展示等多tcp和狀態信息。

    它是一個非常實用、快速、有效的跟蹤 IP 連接和套接字的新工具。SS 命令可以提供如下信息:

    • 所有的 TCP 套接字
    • 所有的UDP套接字
    • 全部ssh/ftp/ttp/https連接
    • 所有連接到Xserver的本地進程
    • 使用狀態(例如:connected,synchronized,SYN-RECV,SYN-SENT,TIME-WAIT)、地址、端口過濾
    • 所有的狀態 FIN-WAIT-1 tcpsocket 連接以及更多

    流行很多 Linux 發行版都支持 ss 以及許多監控工具使用的命令lnt等。

    展示他之前做個對比,統計服務器連接數

    netstat
    # time netstat -ant | grep EST | wc -l
    3100
    real 0m12.960s
    user 0m0.334s
    sys 0m12.561s
    # time ss -o state established | wc -l
    3204
    real 0m0.030s
    user 0m0.005s
    sys 0m0.026s
    

    顯然,如果選擇幫助統計數據的情況很容易完成,在sss能夠確定的下,你會在網絡統計嗎,結果嗎,看看下面,或者到頁面。

    常用ss命令:

    ss -l 顯示本地打開的所有端口
    ss -pl 顯示每個進程具體打開的socket
    ss -t -a 顯示所有tcp socket
    ss -u -a 顯示所有的UDP Socekt
    ss -o state established '( dport = :smtp or sport = :smtp )' 顯示所有已建立的SMTP連接
    ss -o state established '( dport = :http or sport = :http )' 顯示所有已建立的HTTP連接
    ss -x src /tmp/.X11-unix/* 找出所有連接X服務器的進程
    ss -s 列出當前socket詳細信息:
    

    顯示sockets簡要信息,當前當前連接,關閉,等待的tcp連接

    # ss -s
    Total: 3519 (kernel 3691)
    TCP: 26557 (estab 3163, closed 23182, orphaned 194, synrecv 0, timewait 23182/0), ports 1452
    Transport Total IP IPv6
    * 3691 - -
    RAW 2 2 0
    UDP 10 7 3
    TCP 3375 3368 7
    INET 3387 3377 10
    FRAG 0 0 0
    

    當前視圖端口

    # ss -lRecv-Q Send-Q Local Address:Port Peer Address:Port
    0 10 :::5989 :::*
    0 5 *:rsync *:*
    0 128 :::sunrpc :::*
    0 128 *:sunrpc *:*
    0 511 *:http *:*
    0 128 :::ssh :::*
    0 128 *:ssh *:*
    0 128 :::35766 :::*
    0 128 127.0.0.1:ipp *:*
    0 128 ::1:ipp :::*
    0 100 ::1:smtp :::*
    0 100 127.0.0.1:smtp *:*
    0 511 *:https *:*
    0 100 :::1311 :::*
    0 5 *:5666 *:*
    0 128 *:3044 *:*
    

    s 最初的每個進程都命名了他們的端口

    # ss -pl
    

    ss列所有的tcp套接字

    # ss -t -a
    

    s 的所有 udp 套接字

    # ss -u -a
    

    所有的http連接中的連接

    # ss -o state established '( dport = :http or sport = :http )'
    
    • 以上包含訪問提供的80,以及外部的80
    • 使用更高命令的完美替代 netstat 獲取http到常用連接數,監控中

    s本地本地進程連接到x服務器

    # ss -x src /tmp/.X11-unix/*
    

    s的架構狀態FIN-WAIT-1的http、https連接

    # ss -o state fin-wait-1 '( sport = :http or sport = :https )'
    

    ss常用的狀態狀態:

    established
    syn-sent
    syn-recv
    fin-wait-1
    fin-wait-2
    time-wait
    closed
    close-wait
    last-ack
    listen
    closing
    all : All of the above states
    connected : All the states except for listen and closed
    synchronized : All the connected states except for syn-sent
    bucket : Show states, which are maintained as minisockets, i.e. time-wait and syn-recv.
    big : Opposite to bucket state.
    

    ss使用IP地址篩選

    ss src ADDRESS_PATTERN
    src:表示來源
    ADDRESS_PATTERN:表示地址規則
    如下:
    ss src 120.33.31.1 # 列出來之20.33.31.1的連接
    # 列出來至120.33.31.1,80端口的連接
    ss src 120.33.31.1:http
    ss src 120.33.31.1:8
    

    ss使用端口篩選

    ss dport OP PORT
    OP:是運算符
    PORT:表示端口
    dport:表示過濾目標端口、相反的有sport
    

    操作類型:

    <= or le : 小于等于 >= or ge : 大于等于
    == or eq : 等于
    != or ne : 不等于端口
    < or lt : 小于這個端口 > or gt : 大于端口
    

    OP實例


    ss sport = :http 也可以是 ss sport = :80
    ss dport = :http
    ss dport \> :1024
    ss sport \> :1024
    ss sport \< :32000
    ss sport eq :22
    ss dport != :22
    ss state connected sport = :http
    ss \( sport = :http or sport = :https \)
    ss -o state fin-wait-1 \( sport = :http or sport = :https \) dst 192.168.
    

    ssbnetstat快:

    netstat 是很多時候/proc/在下面直接讀取/proc/記錄每個 PID 的信息統計。

    ss命令幫助

    # ss -h
    Usage: ss [ OPTIONS ]
    ss [ OPTIONS ] [ FILTER ]
    -h, --help           this message
    -V, --version        output version information
    -n, --numeric        don't resolve service names
    -r, --resolve       resolve host names
    -a, --all            display all sockets
    -l, --listening      display listening sockets
    -o, --options       show timer information
    -e, --extended      show detailed socket information
    -m, --memory        show socket memory usage
    -p, --processes      show process using socket
    -i, --info           show internal TCP information
    -s, --summary        show socket usage summary
    -4, --ipv4          display only IP version 4 sockets
    -6, --ipv6          display only IP version 6 sockets
    -0, --packet display PACKET sockets
    -t, --tcp            display only TCP sockets
    -u, --udp            display only UDP sockets
    -d, --dccp           display only DCCP sockets
    -w, --raw            display only RAW sockets
    -x, --unix           display only Unix domain sockets
    -f, --family=FAMILY display sockets of type FAMILY
    -A, --query=QUERY, --socket=QUERY
    QUERY := {all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]
    -D, --diag=FILE      Dump raw information about TCP sockets to FILE
    -F, --filter=FILE   read filter information from FILE
    FILTER := [ state TCP-STATE ] [ EXPRESSION ]
    

    有網友總結道:

    測試ss比netstat慢好多,且netstat是遍歷/proc下面每個PID目錄,ss直接讀/proc/net下面的統計信息。所以ss執行的時候消耗資源以及消耗的時間都比netstat少很多。還有就是ss會影響CPU,這個需要評估對業務的耗時影響,沒有免費的午餐,大家選擇自己覺得好用的就好~

    linux系統netstat
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    等保2.0 Linux主機測評
    2021-09-30 06:20:40
    以下結果以CentOS 7 為例,按照等保2.0標準,2021報告模板,三級系統要求進行測評。應對登錄的用戶進行身份標識和鑒別,身份標識具有唯一性,身份鑒別信息具有復雜度要求并定期更換。
    s等命令用于socket狀態。他可以顯示PACKET sockets,TCP sockets,UDP sockets,DCCP sockets,RAW sockets,Unix domain sockets。它比其他工具展示等多tcp和狀態信息。它是一個非常實用、快速、有效的跟蹤 IP 連接和套接字的新工具。
    入侵者在入侵成功后,往往會留下后門以便再次訪問被入侵的系統,而創建系統賬號是一種比較常見的后門方式。在做入侵排查的時候,用戶配置文件/etc/passwd和密碼配置文件/etc/shadow是需要去重點關注的地方。查詢特權用戶特權用戶> awk -F: '$3==0{print $1}' /etc/passwd. 查找遠程可以登錄的賬戶> awk '/\$1|\$5|\$6/{print $1}' /etc/shadow. $1:MD5$5:SHA-256$6:SHA-512檢查sudo權限> cat /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL". 檢查計劃任務利用計劃任務進行權限維持,可作為一種持久性機制被入侵者利用。
    拿到一臺 linux 主機普通權限之后,如何獲取更高的 root 權限?0x01 查看操作系統信息,內核版本等查看操作系統類型:cat /etc/issue?ls /boot | grep vmlinuz-可以看到當前系統是 64 位。
    arch #顯示機器的處理器架構(1) uname -m #顯示機器的處理器架構(2) uname -r #顯示正在使用的內核版本 dmidecode -q #顯示硬件系統部件 - (SMBIOS / DMI) hdparm -i /dev/hda #羅列一個磁盤的架構特性 hdparm -tT /dev/sda #在磁盤上執行測試性讀取操作 cat /p
    當企業發生網絡安全事件時,急需第一時間進行處理,使企業的網絡信息系統在最短時間內恢復正常工作,同時還需進一步查找入侵來源,還原入侵事故過程,給出解決方案與防范措施,為企業挽回或減少經濟損失。 常見的網絡安全事件:
    Linux常用命令總結
    2021-11-20 05:45:17
    系統信息 關機網卡命令 文件目錄 find命令 ps命令 防火墻命令 用戶命令 其他命令 最近再使用Linux感覺Linux系統使用起來也挺順手的不過就是命令掌握的并不是很牢固,今天整理一下Linux一些常用命令。
    secure 是應急中最常用的文件,主要記錄系統存取數據的文件,如 POP3、ssh、telnet、ftp 等相關記錄,從日志中可看出系統服務是否遭受到安全威脅,從如下日志中可看到 SSH 服務一直在被破解。lastlog 命令,用于顯示系統中所有用戶最近一次登錄信息。可以使用 lastlog 命令檢查某特定用戶上次登錄的時間,并格式化輸出上次登錄日志 /var/log/lastlog 的內容。
    一顆小胡椒
    暫無描述
      亚洲 欧美 自拍 唯美 另类