1. 程式人生 > >Linux網路檢測相關工具用法(ping/netstat/ss/ethtool)

Linux網路檢測相關工具用法(ping/netstat/ss/ethtool)

當新的Linux主機完成了網路配置,即可以正常接入網路後,我們可以通過Linux自帶的相關工具進行網路相關檢測。如最常用的ping,netstat,ss,traceroute,ethtool等相關命令。本文主要是描述這幾個命令的使用方法,供大家參考。

有關為網路配置基礎可以參考以下連結:

一、ping命令的使用

ping這個命令會發送一些資料包到目標主機,用於檢查目標網路是否可達,其協議為基於icmp協議。

獲取ping的幫助資訊

# ping -help
Usage: ping [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface]
            [-m mark] [-M pmtudisc_option] [-l preload] [-p pattern] [-Q tos]
            [-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp_option]
            [-w deadline] [-W timeout] [hop1 ...] destination

常用的用法如下
  ping [options] ip
        -c 次數
    -w 測試執行時長    

使用示例

###當前環境
# more /etc/redhat-release CentOS Linux release 7.2.1511 (Core) ###ping本地迴環 # ping 127.0.0.1 -c 2 PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.108 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.037 ms --- 127.0.0.1 ping statistics --- 2 packets transmitted, 2
received, 0% packet loss, time 1000ms rtt min/avg/max/mdev = 0.037/0.072/0.108/0.036 ms ###ping本機IP # ping 192.168.81.144 -c 2 PING 192.168.81.144 (192.168.81.144) 56(84) bytes of data. 64 bytes from 192.168.81.144: icmp_seq=1 ttl=64 time=0.209 ms 64 bytes from 192.168.81.144: icmp_seq=2 ttl=64 time=0.058 ms --- 192.168.81.144 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms rtt min/avg/max/mdev = 0.058/0.133/0.209/0.076 ms ###ping外部網路(URL,驗證DNS解析) # ping www.baidu.com -w 2 PING www.baidu.com (14.215.177.38) 56(84) bytes of data. 64 bytes from 14.215.177.38: icmp_seq=1 ttl=128 time=5.92 ms 64 bytes from 14.215.177.38: icmp_seq=2 ttl=128 time=6.19 ms --- www.baidu.com ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1002ms rtt min/avg/max/mdev = 5.925/6.057/6.190/0.153 ms ###指定ping包的大小 # ping www.baidu.com -s 1024 -c 2 PING www.baidu.com (14.215.177.38) 1024(1052) bytes of data. 1032 bytes from 14.215.177.38: icmp_seq=1 ttl=128 time=6.21 ms 1032 bytes from 14.215.177.38: icmp_seq=2 ttl=128 time=6.47 ms --- www.baidu.com ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1002ms rtt min/avg/max/mdev = 6.218/6.348/6.478/0.130 ms

二、traceroute | mtr 命令的使用

traceroute命令

  該命令獲取當前主機到目標主機所經過的路由(閘道器)
  該命令通過傳送小的資料包到目的裝置直到其返回,來測量其需要多長時間
最常用的用法
  traceroute HOST

獲取traceroute幫助
  # man traceroute

使用示例

###traceroute本地主機
# traceroute 192.168.1.131
traceroute to 192.168.1.131 (192.168.1.131), 30 hops max, 60 byte packets
1  192.168.81.2 (192.168.81.2)  0.388 ms  0.341 ms  0.134 ms
2  * * *
3  * * * //後面部分省略

###traceroute URL
# traceroute www.baidu.com
traceroute to www.baidu.com (14.215.177.39), 30 hops max, 60 byte packets
1  192.168.81.2 (192.168.81.2)  0.178 ms  0.166 ms  0.179 ms 

###繞過路由表探測目標URL,如下,提示網路不可達
# traceroute -r www.baidu.com
traceroute to www.baidu.com (14.215.177.39), 30 hops max, 60 byte packets
connect: Network is unreachable

mtr命令

  網路連通性判斷工具,它結合了ping, traceroute,nslookup 的相關特性
    mtr HOST

示例

### mtr本地主機
# mtr 192.168.1.131
centos7-a.example.com (0.0.0.0)                                              Wed Sep  6 15:55:39 2017
Keys:  Help Display mode Restart statistics Order of fields quit
                                                                Packets              Pings
Host                                                          Loss%  Snt  Last  Avg  Best  Wrst StDev
1. 192.168.81.2                                                0.0%    77    0.2  0.3  0.1  1.5  0.1
2. ???

###mtr URL
# mtr www.baidu.com
centos7-a.example.com (0.0.0.0)                                                Wed Sep  6 15:59:29 2017 
Keys:  Help Display mode Restart statistics Order of fields quit                                  
                                                                Packets              Pings            
Host                                                          Loss%  Snt  Last  Avg  Best  Wrst StDev
1. 192.168.81.2                                                0.0%  131    0.3  0.3  0.1  6.7  0.6
2. 192.168.1.1                                                  0.0%  131    3.5  1.6  0.8  7.1  0.8  
3. 58.61.29.9                                                  0.0%  130    9.3  2.7  1.1  89.3  7.7
4. 14.215.177.39                                                2.3%  130  11.1  6.2  5.2  14.6  1.5

三、tracepath命令的使用

用來追蹤並顯示報文到達目的主機所經過的路由資訊
  tracepath [option] hostname

常用選項:
-n    對沿途各主機節點, 僅僅獲取並輸出IP地址
        不在每個IP 地址的節點裝置上通過DNS查詢其主機名,以此來加快測試速度。
-b    對沿途各主機節點同時顯示IP地址和主機名。
-l    包長度——設定初始的資料包的大小。
-p  埠號——設定UDP傳輸協議的埠(預設為33434)。

示例

# tracepath www.baidu.com
1: [LOCALHOST]                                        pmtu 1500
1:  192.168.81.2                                          0.204ms 
1:  192.168.81.2                                          0.387ms 
2:  no reply

四、netstat命令的使用

netstat
  該命令用於顯示各種網路相關資訊,如網路連線,路由表,介面狀態 (Interface Statistics)
  masquerade 連線,多播成員 (Multicast Memberships) 等等。

常用選項    
  -t:tcp協議的連線
  -u:udp協議的連結
  -l:監聽狀態的連線
  -a:所有狀態的連線
  -p:連線相關的程序
  -n:數字格式顯示
  -e: 顯示額外的資訊
  -r: 顯示路由表,類似於route或ip route show

常用組合:
    netstat -tan
    netstat -tunlp
    netstat -rn

示例

###列出所有的埠,包括監聽的和未監聽的
# netstat -a

###列出所有的tcp協議的埠
# netstat -t              ###Author : Leshami
Active Internet connections (w/o servers)  ###Blog  : http://blog.csdn.net/leshami
Proto Recv-Q Send-Q Local Address          Foreign Address        State      
tcp        0    96 172.24.8.131:ssh        172.24.8.1:59658        ESTABLISHED
tcp        0      0 172.24.8.131:ssh        172.24.8.1:62097        ESTABLISHED

###尋找特定程式執行的埠
# netstat -nltp|grep sshd
tcp        0      0 0.0.0.0:22              0.0.0.0:*              LISTEN      1564/sshd          
tcp6      0      0 :::22                  :::*                    LISTEN      1564/sshd 

###尋找特定埠對應的程式
# netstat -nltp|grep 1521
tcp6      0      0 :::1521                  :::*                LISTEN      3708/tnslsnr 

###檢視本機路由資訊
# netstat -r              
Kernel IP routing table
Destination    Gateway        Genmask        Flags  MSS Window  irtt Iface
default        192.168.81.2    0.0.0.0        UG        0 0          0 eno33554960
172.24.8.0      0.0.0.0        255.255.255.0  U        0 0          0 eno16777728
192.168.81.0    0.0.0.0        255.255.255.0  U        0 0          0 eno33554960

五、ss命令的使用

是socket state縮寫,可以檢視系統中socket的狀態的
如顯示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等統計
ss一個非常實用、快速、有效的跟蹤IP連線和sockets的新工具,用於取代netstat

用法:
        ss [ OPTIONS ] [ FILTER ]
        常用選項
      -t:tcp協議的連線
      -u:udp協議的連結
      -l:監聽狀態的連線
      -a:所有狀態的連線
      -e:顯示擴充套件資訊
      -m:顯示套接連線使用的記憶體資訊
      -p:程序及UDP
      -n:數字格式顯示
      -o state (established) 

        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詳細資訊:    

示例

###檢視所有TCP協議的連線
# ss -ta
State      Recv-Q Send-Q          Local Address:Port                              Peer Address:Port                
LISTEN      0      128                    *:ssh                                          *:*                    
LISTEN      0      128            127.0.0.1:ipp                                          *:*                    
LISTEN      0      100            127.0.0.1:smtp                                          *:*                    
ESTAB      0      96          172.24.8.131:ssh                                  172.24.8.1:59658                
ESTAB      0      0            172.24.8.131:ssh                                  172.24.8.1:62097

###檢視所有協議監聽以及列出程序號
# ss -nltup  
Netid State      Recv-Q Send-Q Local Address:Port  Peer Address:Port
udp  UNCONN    0      0                  *:44819        *:*  users:(("avahi-daemon",pid=888,fd=13))
udp  UNCONN    0      0                  *:58348        *:*  users:(("dhclient",pid=63962,fd=20))
udp  UNCONN    0      0                  *:68            *:*  users:(("dhclient",pid=63962,fd=6))
udp  UNCONN    0      0                  *:68            *:*  users:(("dhclient",pid=37433,fd=6))
udp  UNCONN    0      0                  *:5353          *:*  users:(("avahi-daemon",pid=888,fd=12))
udp  UNCONN    0      0                  *:5384          *:*  users:(("dhclient",pid=37433,fd=20))
udp  UNCONN    0      0                :::19332        :::*  users:(("dhclient",pid=37433,fd=21))
tcp  LISTEN    0      128              *:22             *:*  users:("sshd",pid=1564,fd=3))
tcp  LISTEN    0      128          127.0.0.1:631        *:*  users:(("cupsd",pid=1566,fd=13))
tcp  LISTEN    0      100          127.0.0.1:25          *:*  users:(("master",pid=2184,fd=13))
tcp  LISTEN    0      128                :::22        :::*  users:(("sshd",pid=1564,fd=4))

###檢視所有基於ssh建立連線資訊
# ss -o state established '( dport = :ssh or sport = :ssh )'    
Netid Recv-Q Send-Q Local Address:Port  Peer Address:Port      
tcp  0      96      172.24.8.131:ssh    172.24.8.1:59658        timer:(on,402ms,0)
tcp  0      0      172.24.8.131:ssh    172.24.8.1:62097        timer:(keepalive,60min,0)                                                   

六、ethtool命令

用於獲取乙太網卡的配置資訊,或者修改這些配置

常用用法
ethtool eth0        //查詢ethx網口基本設定,其中 x 是對應網絡卡的編號,如eth0、eth1等等
ethtool –h        //顯示ethtool的命令幫助(help)
ethtool –i eth0    //查詢eth0網口的相關資訊
ethtool –d eth0    //查詢eth0網口註冊性資訊
ethtool –r eth0    //重置eth0網口到自適應模式
ethtool –S eth0    //查詢eth0網口收發包統計
ethtool –s eth0 [speed 10|100|1000] [duplex half|full]  [autoneg on|off]  
                                      //設定網口速率10/100/1000M、設定網口半/全雙工、設定網口是否自協商

示例

###檢視指定網絡卡的資訊
# ethtool eno16777728
Settings for eno16777728:
        Supported ports: [ TP ]
        Supported link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: off (auto)
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x00000007 (7)
                              drv probe link
        Link detected: yes

###檢視網絡卡中接收模組RX、傳送模組TX和Autonegotiate模組的狀態
# ethtool -a eno16777728
Pause parameters for eno16777728:
Autonegotiate:  on
RX:            off
TX:            off

###顯示網絡卡驅動的資訊,如驅動的名稱、版本等
# ethtool -i eno16777728
driver: e1000
version: 7.3.21-k8-NAPI
firmware-version: 
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

###查詢指定網絡卡的統計資訊
# ethtool -S eno16777728
NIC statistics:
    rx_packets: 12374
    tx_packets: 9145
    rx_bytes: 1572275
    tx_bytes: 1939008
    rx_broadcast: 0
    tx_broadcast: 0
    rx_multicast: 0
    tx_multicast: 0
    rx_errors: 0
    tx_errors: 0
    tx_dropped: 0
    multicast: 0
    collisions: 0
    rx_length_errors: 0

DBA牛鵬社(SQL/NOSQL/LINUX)

這裡寫圖片描述

相關推薦

Linux網路檢測相關工具用法(ping/netstat/ss/ethtool)

當新的Linux主機完成了網路配置,即可以正常接入網路後,我們可以通過Linux自帶的相關工具進行網路相關檢測。如最常用的ping,netstat,ss,traceroute,ethtool等相關命令。本文主要是描述這幾個命令的使用方法,供大家參考。 有關為網

linux 網路檢測命令詳解 ping nslookup tracert mtr

在Linux中有一個更好的網路連通性判斷工具,它可以結合ping nslookup traceroute  dig 來判斷網路的相關特性 mtr mtr能看到整個網路節點的資訊:mtr baidu.com   ,左側為網路節點的IP地址,右側為丟包

圖解幾個與Linux網路虛擬化相關的虛擬網絡卡-VETH/MACVLAN/MACVTAP/IPVLAN

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

liunx網路診斷相關工具

網路診斷相關工具.(ping/telnet、tcpdump/tracert/mtr/iperf/netcat等) 0、ping/telnet 用法: telnet 192.168.1.2 36000 遠端主機:指定要登入進行管理的遠端主機; 埠:指定TELNET協議使用的

Linux網路作業系統安裝工具UNetbootin

UNetbootin (Universal Netboot Installer)為一種跨平臺工具軟體,可以用來建立Live USB 系統,也可以載入各種系統工具,或安裝各種Linux作業系統(Linux套件)和其他作業系統,不需使用安裝光碟(自 動透過網路下載)。 USB安裝模式 這種

Linux環境與相關工具

這裡小結一下Linux二進位制分析相關的環境與工具的基礎知識。 Linux工具 Linux自帶了很多常用的binutils工具,這些工具可在http://www.gnu.org/software/binutils/中找到,其中包含許多用於二進位制分析和破解的工具。 GDB GNU

(OK) 圖解幾個與Linux網路虛擬化相關的虛擬網絡卡-VETH/MACVLAN/MACVTAP/IPVLAN

Linux的網絡卡驅動中內含了很多“虛擬網絡卡”。早先的文章曾經詳細分析過tun,ifb等虛擬網絡卡,類似的思路,在虛擬化大行其道的趨勢下,Linux原始碼樹中不斷增加對“網路虛擬化”的支援,不光是為了支援“虛擬機器”技術,更多的是給了使用者和程式設計師更多的選擇。

效能之巔:Linux網路效能分析工具

編者按:InfoQ開設新欄目“品味書香”,精選技術書籍的精彩章節,以及分享看完書留下的思考和收穫,歡迎大家關注。本文節選自格雷格著《效能之巔:洞悉系統、企業與雲端計算》中第10.6節,介紹了其中Linux部分網路效能分析工具的使用方法。 本文介紹基於Linux作業系統的

linux 網路檢測常用命令(tcp/udp 埠檢測)

1,tcp 埠檢測 telnet ip port [[email protected] ~]$ telnet 10.32.2.231 5060 失敗: Trying 10.32.2.

嵌入式linux網路效能測試工具iperf

       通常在某些應用中我們會乙太網作為高速傳輸媒介介面,在前期的驗證以及硬體完成以後都需要進行必要的效能測試。微控制器中由於RAM有限通常不會實現完整的TCP/IP協議棧,而採用諸如uIP/L

[大資料自學路之Linux基礎]03_遠端連線工具&CentOS6中的網路相關配置

系統網路&防火牆等基本設定 檢視網路IP和閘道器 1)檢視虛擬網路編輯器 2)修改ip地址 3)檢視閘道器 配置網路ip地址 0)檢視當前ip基本語法: [[email protected] /]# ifconfig 1)在終端命令視窗中

Linux網路監控工具netstat、sar

常用到的網路分析工具命令很多,比如:nestat、ss、ip、sar、netstat等。這裡我主要介紹下我使用最多的兩個:netstat和sar。 1.netstat /本來是想著自己寫的,但是在網上發現了一片寫得炒雞好,很全很詳細的文章。我還要寫嗎!- -

Linux網絡工具lsof和netstat

nod 使用 指定 設備管理 內容 路由 協議類型 linu device lsof全名為list opened files,即列舉系統中已經被打開的文件,基本使用如下: (1) 查看/etc/passwd使用情況 lsof /etc/password (2) 查看監聽的s

Linux系統調優相關工具

應用 磁盤讀寫 系統 相關 系統調優 網絡 運行 work lin 系統調優4大子系統 實戰1:找出系統中使用CPU最多的進程? 實戰2:找出系統中使用內存最多的進程? 實戰3:找出系統中對磁盤讀寫最多的進程? 實戰4:找出系統中使用網絡最多的進程? 系統調

Linux安裝軟件包的三種方法,rpm包介紹,rpm工具用法,yum工具用法,yum搭建本地倉庫

rpm yum 筆記內容:l 7.1 安裝軟件包的三種方法l 7.2 rpm包介紹l 7.3 rpm工具用法l 7.4 yum工具用法l 7.5 yum搭建本地倉庫筆記日期:2017.8.9 7.1 安裝軟件包的三種方法rpm工具類似於Windows的exe文件,可以直接進行安裝,而且安裝路徑和文件名

linux的rpm、yum工具用法

linux yum rpm 7.1 安裝軟件包的三種方法:rpm工具rpm命令是RPM軟件包的管理工具。rpm原本是Red Hat Linux發行版專門用來管理Linux各項套件的程序,由於它遵循GPL規則且功能強大方便,因而廣受歡迎。逐漸受到其他發行版的采用。RPM套件管理方式的出現,讓Linu

iptables基本用法linux網絡相關

ttl 來源 sts network star odi 設備 進行 設置 ifconfig 命令 ifconfig在centos6中是默認安裝的,centos7版本默認是沒有這個命令的,需要使用yum來進行安裝: yum install net-tools使用ifdown和

traceroute、netstatping、telnet 網絡工具ping

control roo deb unix 禁ping ctr cmp seq 控制 ping:Ping是Windows、Unix和Linux系統下的一個命令。ping也屬於一個通信協議,是TCP/IP協議的一部分。利用“ping”命令可以檢查網絡是否連通,可以很好地幫助我們

Linux網路程式設計:socket程式設計簡介、網路位元組序及相關函式

Socket(套接字) socket可以看成是使用者程序與核心網路協議棧的程式設計介面(API函式)。 socket不僅可以用於本機的程序間通訊,還可以用於網路上不同主機的程序間通訊。 IPv4套接字地址結構 IPv4套接字地址結構通常也稱為“網際套接字地址結構”,它以

Linux網路配置,ssh服務及相關命令

一.ip地址 1.檢視當前計算機ip地址: ip addr show(紅帽7以後版本推薦) ifconfig 2.更改虛擬機器ip: 輸入nm-connection-editor 點選System eth0,然後點選Delete。之後add。 點選Save。