1. 程式人生 > >基礎運維:十大得心應手的網絡管理命令

基礎運維:十大得心應手的網絡管理命令

網絡管理命令 dia not 方式 swe 傳輸控制協議 election apt 查看

一、iftop

1.簡介
一個類似top的實時監控工具,可以用來監控網卡的實時流量、反向解析IP、顯示端口信息等等,
高級的監控有TCP/IP連接等。

2.安裝
2.1安裝額外倉庫源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

2.2快速安裝
[root@leo ~]# yum install iftop

2.3在命令行輸入命令:
[root@leo ~]# iftop

出現這個界面:
技術分享圖片

3.命令相關參數及說明
3.1 界面說明

界面上面顯示的是類似刻度尺的刻度範圍,為顯示流量圖形的長條作標尺用的。
中間的<= =>這兩個左右箭頭,表示的是流量的方向。

TX:發送流量
RX:接收流量
TOTAL:總流量
Cumm:運行iftop到目前時間的總流量
peak:流量峰值
rates:分別表示過去 2s 10s 40s 的平均流量

3.2 命令參數
3.2.1 官方全參:

   -h                  display this message
   -n                  don‘t do hostname lookups
   -N                  don‘t convert port numbers to services
   -p                  run in promiscuous mode (show traffic between other
                       hosts on the same network segment)
   -b                  don‘t display a bar graph of traffic
   -B                  Display bandwidth in bytes
   -i interface        listen on named interface
   -f filter code      use filter code to select packets to count
                       (default: none, but only IP packets are counted)
   -F net/mask         show traffic flows in/out of IPv4 network
   -G net6/mask6       show traffic flows in/out of IPv6 network
   -l                  display and count link-local IPv6 traffic (default: off)
   -P                  show ports as well as hosts
   -m limit            sets the upper limit for the bandwidth scale
   -c config file      specifies an alternative configuration file
   -t                  use text interface without ncurses

   Sorting orders:
   -o 2s                Sort by first column (2s traffic average)
   -o 10s               Sort by second column (10s traffic average) [default]
   -o 40s               Sort by third column (40s traffic average)
   -o source            Sort by source address
   -o destination       Sort by destination address

   The following options are only available in combination with -t
   -s num              print one single text output afer num seconds, then quit
   -L num              number of lines to print

3.2.2常用參數(未進入界面時使用):

-i  指定監測的網卡
-B 以bytes為單位顯示流量(默認是bits)
-n 使host信息默認直接都顯示IP
-N 使端口信息默認直接都顯示端口號
-F  顯示指定網段的進出流量
-h  顯示幫助信息
-p  使用這個參數後,中間的列表顯示的本地主機信息,出現了本機以外的IP信息;
-b  使流量圖形條默認就顯示;
-f   這個暫時還不太會用,過濾計算包用的;
-P  使host信息及端口信息默認就都顯示;
-m 設置界面最上邊的刻度的最大值,刻度分五個大段顯示,例:# iftop -m 100M

3.2.3 交互參數(進入界面後使用):

按h切換是否顯示幫助;

按n切換顯示本機的IP或主機名;
按s切換是否顯示本機的host信息;
按d切換是否顯示遠端目標主機的host信息;
按t切換顯示格式為2行/1行/只顯示發送流量/只顯示接收流量;
按N切換顯示端口號或端口服務名稱;
按S切換是否顯示本機的端口信息;
按D切換是否顯示遠端目標主機的端口信息;
按p切換是否顯示端口信息;
按P切換暫停/繼續顯示;
按b切換是否顯示平均流量圖形條;
按B切換計算2秒或10秒或40秒內的平均流量;
按T切換是否顯示每個連接的總流量;
按l打開屏幕過濾功能,輸入要過濾的字符,比如ip,按回車後,屏幕就只顯示這個IP相關的流量信息;
按L切換顯示畫面上邊的刻度;刻度不同,流量圖形條會有變化;
按j或按k可以向上或向下滾動屏幕顯示的連接記錄;
按1或2或3可以根據右側顯示的三列流量數據進行排序;
按<根據左邊的本機名或IP排序;
按>根據遠端目標主機的主機名或IP排序;
按o切換是否固定只顯示當前的連接;
按f可以編輯過濾代碼,這是翻譯過來的說法,我還沒用過這個!
按!可以使用shell命令,這個沒用過!沒搞明白啥命令在這好用呢!
按q退出監控。

二、ss

1.簡介
用來顯示處於活動狀態的套接字信息。ss命令可以用來獲取socket統計信息,它可以顯示和netstat類似的內容。但ss的優勢在於它能夠顯示更多更詳細的有關TCP和連接狀態的信息,而且比netstat更快速更高效,特別當服務器的socket數量變得非常大的時候,更顯SS得優勢。

2.安裝:重點
ss 命令利用到了 TCP 協議棧中 tcp_diag。tcp_diag 是一個用於分析統計的模塊,屬於Linux內核自帶的,然而想ifconfig命令就不是內核自帶的,需要額外安裝軟件包。

3.參數說明
3.1官方參數:

-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
   -b, --bpf           show bpf filter socket information
   -E, --events        continually display sockets as they are destroyed
   -Z, --context       display process SELinux security contexts
   -z, --contexts      display process and socket SELinux security contexts
   -N, --net           switch to the specified network namespace name

   -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
   -S, --sctp          display only SCTP 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
       --vsock         display only vsock sockets
   -f, --family=FAMILY display sockets of type FAMILY
       FAMILY := {inet|inet6|link|unix|netlink|vsock|help}

   -K, --kill          forcibly close sockets, display what was closed
   -H, --no-header     Suppress header line

   -A, --query=QUERY, --socket=QUERY
       QUERY := {all|inet|tcp|udp|raw|unix|unix_dgram|unix_stream|unix_seqpacket|packet|netlink|vsock_stream|vsock_dgram}[,QUERY]

   -D, --diag=FILE     Dump raw information about TCP sockets to FILE
   -F, --filter=FILE   read filter information from FILE

3.2 常用參數

-h:顯示幫助信息;
-V:顯示指令版本信息;
-n:不解析服務名稱,以數字方式顯示;
-a:顯示所有的套接字;
-l:顯示處於監聽狀態的套接字;
-o:顯示計時器信息;
-m:顯示套接字的內存使用情況;
-p:顯示使用套接字的進程信息;
-i:顯示內部的TCP信息;
-4:只顯示ipv4的套接字;
-6:只顯示ipv6的套接字;
-t:只顯示tcp套接字;
-u:只顯示udp套接字;
-d:只顯示DCCP套接字;
-w:僅顯示RAW套接字;
-x:僅顯示UNIX域套接字。

3.3實例:顯示socket摘要

[root@leo ~]# ss -t -a
State       Recv-Q Send-Q                         Local Address:Port                                          Peer Address:Port                
LISTEN      0      128                                        *:ssh                                                      *:*                    
LISTEN      0      100                                127.0.0.1:smtp                                                     *:*                    
ESTAB       0      52                           192.168.116.128:ssh                                          192.168.116.1:60008                
LISTEN      0      128                                       :::ssh                                                     :::*                    
LISTEN      0      100                                      ::1:smtp                                                    :::*                    
[root@leo ~]# ss -pl  #正在使用的socket

三、vnstat

1.簡介

vnstat是一個應用於Linux或BSD平臺,對網卡流量做監控。 因為並非是基於網絡包嗅探的方式而是基於/proc的分析。現在vnStat已經有出vnstat PHP frontend 擴展了,可以以PHP腳本的形式直接調用vnStat監測的數據。

2.快速安裝
[root@leo ~]# yum install -y vnstat

3.說明
3.1官方參數

         -q,  --query          query database
         -h,  --hours          show hours
         -d,  --days           show days
         -m,  --months         show months
         -w,  --weeks          show weeks
         -t,  --top10          show top 10 days
         -s,  --short          use short output
         -u,  --update         update database
         -i,  --iface          select interface (default: eth0)
         -?,  --help           short help
         -v,  --version        show version
         -tr, --traffic        calculate traffic
         -ru, --rateunit       swap configured rate unit
         -l,  --live           show transfer rate in real time

3.2 常用參數

vnstat -i eth0 -l #實時流量情況
vnstat -i eth0 -h #按小時查詢流量情況
vnstat -i eth0 -d #按天數查詢流量情況
vnstat -i eth0 -m #按月數查詢流量情況
vnstat -i eth0 -w #按周數查詢流量情況
vnstat -i eth0 -t #查詢TOP10流量情況

3.3 示例:實時顯示接口流量情況

[root@leo ~]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.116.128  netmask 255.255.255.0  broadcast 192.168.116.255
        inet6 fe80::20c:29ff:fe49:de1f  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:49:de:1f  txqueuelen 1000  (Ethernet)
        RX packets 12328  bytes 13529530 (12.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4200  bytes 431348 (421.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@leo ~]# vnstat -i ens33 -l
Monitoring ens33...    (press CTRL-C to stop)

   rx:        0 kbit/s     0 p/s          tx:        1 kbit/s     0 p/s

   rx:        1 kbit/s     1 p/s          tx:        1 kbit/s     1 p/s
   rx:        0 kbit/s     0 p/s          tx:        1 kbit/s     0 p/s

四、top

1.簡介

實時動態地查看系統的整體運行情況,是一個綜合了多方信息監測系統性能和運行信息的實用工具。通過top命令所提供的互動式界面,用熱鍵可以管理。

2.安裝
內核自帶,iotop需要通過安裝使用。

3.說明
3.1官方參數:
top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]

3.2 常用參數解析:

-b:以批處理模式操作;
-c:顯示完整的治命令;
-d:屏幕刷新間隔時間;
-I:忽略失效過程;
-s:保密模式;
-S:累積模式;
-i<時間>:設置間隔時間;
-u<用戶名>:指定用戶名;
-p<進程號>:指定進程;
-n<次數>:循環顯示的次數。

3.3 參數交互(進入top界面後使用)

h:顯示幫助畫面,給出一些簡短的命令總結說明;
k:終止一個進程;
i:忽略閑置和僵死進程,這是一個開關式命令;
q:退出程序;
r:重新安排一個進程的優先級別;
S:切換到累計模式;
s:改變兩次刷新之間的延遲時間(單位為s),如果有小數,就換算成ms。輸入0值則系統將不斷刷新,默認值是5s;
f或者F:從當前顯示中添加或者刪除項目;
o或者O:改變顯示項目的順序;
l:切換顯示平均負載和啟動時間信息;
m:切換顯示內存信息;
t:切換顯示進程和CPU狀態信息;
c:切換顯示命令名稱和完整命令行;
M:根據駐留內存大小進行排序;
P:根據CPU使用百分比大小進行排序;
T:根據時間/累計時間進行排序;
w:將當前設置寫入~/.toprc文件中。

3.4 界面說明

[root@leo ~]# top 
top - 11:22:17 up 45 min,  1 user,  load average: 0.00, 0.01, 0.05
Tasks: 122 total,   1 running, 121 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.1 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  3863568 total,  3317288 free,   160336 used,   385944 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  3426700 avail Mem 

說明:

top - 11:22:17[當前系統時間],
up 45 min [系統已經運行45分],
1 user[用戶登錄數量],
load average: 0.00, 0.01, 0.05[系統負載時間段記錄]
Tasks: 122 total[總進程數],
1 running[正在運行的進程數],
121 sleeping[睡眠的進程數],
0 stopped[停止的進程數],
0 zombie[凍結進程數],
%Cpu(s): 0.1 us[用戶空間占用CPU百分比],
0.1 sy[內核空間占用CPU百分比],
0.0 ni[用戶進程空間內改變過優先級的進程占用CPU百分比],
99.8 id[空閑CPU百分比],
0.0 wa[等待輸入輸出的CPU時間百分比],
0.0 hi[],
0.0 si[],
0.0 st[],
KiB Mem : 3863568 total[物理內存總量],
3317288 free[空閑內存總量],
160336 used[使用的物理內存總量],
385944 buff/cache[用作內核緩存的內存量]
KiB Swap: 2097148 total[交換區總量],
2097148 free[空閑交換區總量],
0 used[使用的交換區總量],
3426700 avail Mem[緩沖的交換區總量],

五、Ping

1.簡介

Ping是Windows、Unix和Linux系統下的一個命令。ping也屬於一個通信協議,是TCP/IP協議的一部分。利用“ping”命令可以檢查網絡是否連通,可以很好地幫助我們分析和判定網絡故障。

2.安裝
內核自帶

3.說明
3.1 官方參數

Usage: ping [-aAbBdDfhLnOqrRUvV64] [-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
Usage: ping -6 [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface]
             [-l preload] [-m mark] [-M pmtudisc_option]
             [-N nodeinfo_option] [-p pattern] [-Q tclass] [-s packetsize]
             [-S sndbuf] [-t ttl] [-T timestamp_option] [-w deadline]
             [-W timeout] destination

3.2 常用參數

-d:使用Socket的SO_DEBUG功能;
-c<完成次數>:設置完成要求回應的次數;
-f:極限檢測;
-i<間隔秒數>:指定收發信息的間隔時間;
-I<網絡界面>:使用指定的網絡界面送出數據包;
-l<前置載入>:設置在送出要求信息之前,先行發出的數據包;
-n:只輸出數值;
-p<範本樣式>:設置填滿數據包的範本樣式;
-q:不顯示指令執行過程,開頭和結尾的相關信息除外;
-r:忽略普通的Routing Table,直接將數據包送到遠端主機上;
-R:記錄路由過程;
-s<數據包大小>:設置數據包的大小;
-t<存活數值>:設置存活數值TTL的大小;
-v:詳細顯示指令的執行過程。

3.3實例:發送報文到目的主機

[root@leo ~]# ping www.baidu.com
PING www.a.shifen.com (14.215.177.39) 56(84) bytes of data.
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=1 ttl=128 time=7.18 ms
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=2 ttl=128 time=8.00 ms
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=3 ttl=128 time=7.43 ms
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=4 ttl=128 time=7.60 ms
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=5 ttl=128 time=8.16 ms
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=6 ttl=128 time=8.31 ms
^C
--- www.a.shifen.com ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5010ms
rtt min/avg/max/mdev = 7.184/7.785/8.311/0.411 ms
[root@leo ~]# 

六、lsof

1.簡介

用於查看你進程開打的文件,打開文件的進程,進程打開的端口(TCP、UDP)。找回/恢復刪除的文件。是十分方便的系統監視工具,因為lsof命令需要訪問核心內存和各種文件,所以需要root用戶執行。
在linux環境下,任何事物都以文件的形式存在,通過文件不僅僅可以訪問常規數據,還可以訪問網絡連接和硬件。所以如傳輸控制協議 (TCP) 和用戶數據報協議 (UDP) 套接字等,系統在後臺都為該應用程序分配了一個文件描述符,無論這個文件的本質如何,該文件描述符為應用程序與基礎操作系統之間的交互提供了通用接口。

2.快速安裝
[root@leo ~]# yum install -y lsof

3.說明
3.1官方參數

-?|-h list help          -a AND selections (OR)     -b avoid kernel blocks
  -c c  cmd c ^c /c/[bix]  +c w  COMMAND width (9)    +d s  dir s files
  -d s  select by FD set   +D D  dir D tree *SLOW?*   +|-e s  exempt s *RISKY*
  -i select IPv[46] files  -K list tasKs (threads)    -l list UID numbers
  -n no host names         -N select NFS files        -o list file offset
  -O no overhead *RISKY*   -P no port names           -R list paRent PID
  -s list file size        -t terse listing           -T disable TCP/TPI info
  -U select Unix socket    -v list version info       -V verbose search
  +|-w  Warnings (+)       -X skip TCP&UDP* files     -Z Z  context [Z]
  -- end option scan     
  +f|-f  +filesystem or -file names     +|-f[gG] flaGs 
  -F [f] select fields; -F? for help  
  +|-L [l] list (+) suppress (-) link counts < l (0 = all; default = 0)
                                        +m [m] use|create mount supplement
  +|-M   portMap registration (-)       -o o   o 0t offset digits (8)
  -p s   exclude(^)|select PIDs         -S [t] t second stat timeout (15)
  -T qs TCP/TPI Q,St (s) info
  -g [s] exclude(^)|select and print process group IDs
  -i i   select by IPv[46] address: [46][proto][@host|addr][:svc_list|port_list]
  +|-r [t[m<fmt>]] repeat every t seconds (15);  + until no files, - forever.
       An optional suffix to t is m<fmt>; m must separate t from <fmt> and
      <fmt> is an strftime(3) format for the marker line.
  -s p:s  exclude(^)|select protocol (p = TCP|UDP) states by name(s).
  -u s   exclude(^)|select login|UID set s
  -x [fl] cross over +d|+D File systems or symbolic Links

3.2 常用參數

-a:列出打開文件存在的進程;
-c<進程名>:列出指定進程所打開的文件;
-g:列出GID號進程詳情;
-d<文件號>:列出占用該文件號的進程;
+d<目錄>:列出目錄下被打開的文件;
+D<目錄>:遞歸列出目錄下被打開的文件;
-n<目錄>:列出使用NFS的文件;
-i<條件>:列出符合條件的進程。(4、6、協議、:端口、 @ip )
-p<進程號>:列出指定進程號所打開的文件;
-u:列出UID號進程詳情;
-h:顯示幫助信息;
-v:顯示版本信息。

3.3 實例

[root@leo ~]# lsof |head -n 10
COMMAND    PID  TID    USER   FD      TYPE             DEVICE  SIZE/OFF       NODE NAME
systemd      1         root  cwd       DIR              253,0       224         64 /
systemd      1         root  rtd       DIR              253,0       224         64 /
systemd      1         root  txt       REG              253,0   1612152   50692855 /usr/lib/systemd/systemd
systemd      1         root  mem       REG              253,0     20112      34479 /usr/lib64/libuuid.so.1.3.0
systemd      1         root  mem       REG              253,0    261456      34481 /usr/lib64/libblkid.so.1.1.0
systemd      1         root  mem       REG              253,0     90664      34241 /usr/lib64/libz.so.1.2.7
systemd      1         root  mem       REG              253,0    157424      34472 /usr/lib64/liblzma.so.5.2.2
systemd      1         root  mem       REG              253,0     23968      34508 /usr/lib64/libcap-ng.so.0.0.0
systemd      1         root  mem       REG              253,0     19896      34292 /usr/lib64/libattr.so.1.1.0
[root@leo ~]# 

解釋:

COMMAND:進程的名稱
PID:進程標識符
PPID:父進程標識符(需要指定-R參數)
USER:進程所有者
PGID:進程所屬組
FD:文件描述符,應用程序通過文件描述符識別該文件。
TYPE:文件類型
DEVICE:指定磁盤名稱
SIZE/OFF:文件大小
NODE:索引節點(文件在磁盤上的標識)
NAME:文件的確切名稱

七、tcpdump

1.簡介

一款sniffer工具,它可以打印所有經過網絡接口的數據包的頭信息,也可以使用-w選項將數據包保存到文件中,方便以後分析。

2.快速安裝

[root@leo ~]# yum install -y tcpdump

3.說明
3.1 官方參數

tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ]
        [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
        [ -i interface ] [ -j tstamptype ] [ -M secret ] [ --number ]
        [ -Q|-P in|out|inout ]
        [ -r file ] [ -s snaplen ] [ --time-stamp-precision precision ]
        [ --immediate-mode ] [ -T type ] [ --version ] [ -V file ]
        [ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z postrotate-command ]
        [ -Z user ] [ expression ]

3.2 常用參數

-a:嘗試將網絡和廣播地址轉換成名稱;
-c<數據包數目>:收到指定的數據包數目後,就停止進行傾倒操作;
-d:把編譯過的數據包編碼轉換成可閱讀的格式,並傾倒到標準輸出;
-dd:把編譯過的數據包編碼轉換成C語言的格式,並傾倒到標準輸出;
-ddd:把編譯過的數據包編碼轉換成十進制數字的格式,並傾倒到標準輸出;
-e:在每列傾倒資料上顯示連接層級的文件頭;
-f:用數字顯示網際網絡地址;
-F<表達文件>:指定內含表達方式的文件;
-i<網絡界面>:使用指定的網絡截面送出數據包;
-l:使用標準輸出列的緩沖區;
-n:不把主機的網絡地址轉換成名字;
-N:不列出域名;
-O:不將數據包編碼最佳化;
-p:不讓網絡界面進入混雜模式;
-q :快速輸出,僅列出少數的傳輸協議信息;
-r<數據包文件>:從指定的文件讀取數據包數據;
-s<數據包大小>:設置每個數據包的大小;
-S:用絕對而非相對數值列出TCP關聯數;
-t:在每列傾倒資料上不顯示時間戳記;
-tt: 在每列傾倒資料上顯示未經格式化的時間戳記;
-T<數據包類型>:強制將表達方式所指定的數據包轉譯成設置的數據包類型;
-v:詳細顯示指令執行過程;
-vv:更詳細顯示指令執行過程;
-x:用十六進制字碼列出數據包資料;
-w<數據包文件>:把數據包數據寫入指定的文件。

3.3實例:
3.3.1直接監控第一個在網絡接口流過的數據包
[root@leo ~]# tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on bluetooth0, link-type BLUETOOTH_HCI_H4_WITH_PHDR (Bluetooth HCI UART transport layer plus pseudo-header), capture size 262144 bytes

3.3.2監控指定主機端口的數據包
[root@leo ~]# tcpdump -i ens33

八、nc

1.簡介

netcat命令的簡稱,都是用來設置路由器。

2.快速安裝
[root@leo ~]# yum install nc

3.說明
3.1 官方參數

 -4                         Use IPv4 only
  -6                         Use IPv6 only
  -U, --unixsock             Use Unix domain sockets only
  -C, --crlf                 Use CRLF for EOL sequence
  -c, --sh-exec <command>    Executes the given command via /bin/sh
  -e, --exec <command>       Executes the given command
      --lua-exec <filename>  Executes the given Lua script
  -g hop1[,hop2,...]         Loose source routing hop points (8 max)
  -G <n>                     Loose source routing hop pointer (4, 8, 12, ...)
  -m, --max-conns <n>        Maximum <n> simultaneous connections
  -h, --help                 Display this help screen
  -d, --delay <time>         Wait between read/writes
  -o, --output <filename>    Dump session data to a file
  -x, --hex-dump <filename>  Dump session data as hex to a file
  -i, --idle-timeout <time>  Idle read/write timeout
  -p, --source-port port     Specify source port to use
  -s, --source addr          Specify source address to use (doesn‘t affect -l)
  -l, --listen               Bind and listen for incoming connections
  -k, --keep-open            Accept multiple connections in listen mode
  -n, --nodns                Do not resolve hostnames via DNS
  -t, --telnet               Answer Telnet negotiations
  -u, --udp                  Use UDP instead of default TCP
      --sctp                 Use SCTP instead of default TCP
  -v, --verbose              Set verbosity level (can be used several times)
  -w, --wait <time>          Connect timeout
  -z                         Zero-I/O mode, report connection status only
      --append-output        Append rather than clobber specified output files
      --send-only            Only send data, ignoring received; quit on EOF
      --recv-only            Only receive data, never send anything
      --allow                Allow only given hosts to connect to Ncat
      --allowfile            A file of hosts allowed to connect to Ncat
      --deny                 Deny given hosts from connecting to Ncat
      --denyfile             A file of hosts denied from connecting to Ncat
      --broker               Enable Ncat‘s connection brokering mode
      --chat                 Start a simple Ncat chat server
      --proxy <addr[:port]>  Specify address of host to proxy through
      --proxy-type <type>    Specify proxy type ("http" or "socks4" or "socks5")
      --proxy-auth <auth>    Authenticate with HTTP or SOCKS proxy server
      --ssl                  Connect or listen with SSL
      --ssl-cert             Specify SSL certificate file (PEM) for listening
      --ssl-key              Specify SSL private key (PEM) for listening
      --ssl-verify           Verify trust and domain name of certificates
      --ssl-trustfile        PEM file containing trusted SSL certificates
      --ssl-ciphers          Cipherlist containing SSL ciphers to use
      --version              Display Ncat‘s version information and e

3.2 常用參數

-g<網關>:設置路由器躍程通信網關,最多設置8個;
-G<指向器數目>:設置來源路由指向器,其數值為4的倍數;
-h:在線幫助;
-i<延遲秒數>:設置時間間隔,以便傳送信息及掃描通信端口;
-l:使用監聽模式,監控傳入的資料;
-n:直接使用ip地址,而不通過域名服務器;
-o<輸出文件>:指定文件名稱,把往來傳輸的數據以16進制字碼傾倒成該文件保存;
-p<通信端口>:設置本地主機使用的通信端口;
-r:指定源端口和目的端口都進行隨機的選擇;
-s<來源位址>:設置本地主機送出數據包的IP地址;
-u:使用UDP傳輸協議;
-v:顯示指令執行過程;
-w<超時秒數>:設置等待連線的時間;
-z:使用0輸入/輸出模式,只在掃描通信端口時使用。

3.3 實例
參數:

主機:指定主機的IP地址或主機名稱;
端口號:可以是單個整數或者是一個範圍。

端口掃描:

[root@leo ~]# nc -v -w 1  192.168.116.128 -z 1-10

192.168.116.128 是要監控的服務器IP

九、nethogs

1.簡介

一個開源的命令行工具(類似於Linux的top命令),用來按進程或程序實時統計網絡帶寬使用率。

2.快速安裝
[root@leo ~]# yum install nethogs -y

3.說明
3.1 官方參數

usage: nethogs [-V] [-h] [-b] [-d seconds] [-v mode] [-c count] [-t] [-p] [-s] [device [device [device ...]]]
        -V : prints version.
        -h : prints this help.
        -b : bughunt mode - implies tracemode.
        -d : delay for update refresh rate in seconds. default is 1.
        -v : view mode (0 = KB/s, 1 = total KB, 2 = total B, 3 = total MB). default is 0.
        -c : number of updates. default is 0 (unlimited).
        -t : tracemode.
        -p : sniff in promiscious mode (not recommended).
        -s : sort output by sent column.
   -a : monitor all devices, even loopback/stopped ones.
device : device(s) to monitor. default is all interfaces up and running excluding loopback

3.2 常用參數1(非交互)

-d : 刷新間隔
-h : 幫助
-p : promiscious 模式
-t : trace模式
-V : 版本

3.3 常用參數2(交互式)

m : 修改單位
r : 按流量排序
s : 按發送流量排序
q : 退出命令提示符

3.4 實例
監控網絡帶寬;
[root@leo ~]# nethogs ens33

改變刷新頻率:
[root@leo ~]# nethogs ens33 -d 5

十、nslookup

1.簡介

常用域名查詢工具,就是查DNS信息用的命令。
nslookup4有兩種工作模式,即“交互模式”和“非交互模式”。在“交互模式”下,用戶可以向域名服務器查詢各類主機、域名的信息,或者輸出域名中的主機列表。而在“非交互模式”下,用戶可以針對一個主機或域名僅僅獲取特定的名稱或所需信息。

2.快速安裝
[root@leo ~]# yum install -y bind-utils

3.2 參數說明
-sil:不顯示任何警告信息。

3.3 實例

[root@leo ~]# nslookup www.baidu.com
Server:     192.168.116.2
Address:    192.168.116.2#53

Non-authoritative answer:
www.baidu.com   canonical name = www.a.shifen.com.
Name:   www.a.shifen.com
Address: 14.215.177.38
Name:   www.a.shifen.com
Address: 14.215.177.39

[root@leo ~]# 

基礎運維:十大得心應手的網絡管理命令