自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux-細(xì)說Linux的網(wǎng)絡(luò)篇

系統(tǒng) Linux
判斷帶寬,服務(wù)器的帶寬說簡單也簡單,說難確實也很難,在無配置的情況下可以使用curl和wget請求一個外部文件以此可以判斷(反向判斷)或者在線個網(wǎng)站測速。而網(wǎng)上很多都會說用iperf測試,但是需要你手上有一臺外網(wǎng)的服務(wù)器。

 [[256979]]

再說linux網(wǎng)絡(luò)前先需要確認(rèn)設(shè)備的一些信息,比如網(wǎng)卡類型,網(wǎng)卡的速度等等。在linux可以通過網(wǎng)卡的設(shè)備名稱區(qū)分網(wǎng)卡的類型,例如:

  1. ## 查看網(wǎng)卡的型號 
  2.  # lspci | grep -i ethernet 
  3.  00:03.0 Ethernet controller: Red Hat, Inc Virtio network device 
  4.   
  5.  ## 查看網(wǎng)卡的具體信息 注意Speed字段的值為網(wǎng)卡支支持的速度 
  6.  # ethtool eth0 
  7.  Settings for eth0: 
  8.         Supported ports: [ TP ] 
  9.         Supported link modes:   10baseT/Half 10baseT/Full  
  10.                                 100baseT/Half 100baseT/Full  
  11.                                 1000baseT/Full  
  12.         Supports auto-negotiation: Yes 
  13.         Advertised link modes:  10baseT/Half 10baseT/Full  
  14.                                 100baseT/Half 100baseT/Full  
  15.                                 1000baseT/Full  
  16.         Advertised auto-negotiation: Yes 
  17.         Speed: 1000Mb/s 
  18.         Duplex: Full 
  19.         Port: Twisted Pair 
  20.         PHYAD: 1 
  21.         Transceiver: internal 
  22.         Auto-negotiation: on 
  23.         Supports Wake-on: pumbag 
  24.         Wake-on: g 
  25.         Current message level: 0x00000001 (1) 
  26.         Link detected: yes 

判斷帶寬,服務(wù)器的帶寬說簡單也簡單,說難確實也很難,在無配置的情況下可以使用curl和wget請求一個外部文件以此可以判斷(反向判斷)或者在線個網(wǎng)站測速。而網(wǎng)上很多都會說用iperf測試,但是需要你手上有一臺外網(wǎng)的服務(wù)器。

網(wǎng)絡(luò)配置

在不同的Linux發(fā)型版中網(wǎng)絡(luò)配置可能有所差別,但其本質(zhì)都是一致的,在Ubuntu下/etc/network/interfaces以及在/etc/network/options中配置網(wǎng)絡(luò)信息。而在RedHat系列中則在/etc/sysconfig/network-scripts/ifcfg-ifname配置。無論在哪里配置都可以使用ifconfig命令查看這些網(wǎng)絡(luò)配置,下面是ifconfig命的常用參數(shù)和實例。

  1. usage : ifconfig [網(wǎng)絡(luò)設(shè)備] [參數(shù)] 
  2.  descript :ifconfig命令用來查看和配置網(wǎng)絡(luò)設(shè)備,當(dāng)網(wǎng)絡(luò)環(huán)境發(fā)生改變時可通過此命令對網(wǎng)絡(luò)進行相應(yīng)的配置。 
  3.       用ifconfig命令配置的網(wǎng)卡信息,在網(wǎng)卡重啟后機器重啟后,配置就不存在。要想將上述的配置信息永遠的 
  4.       存在電腦里,那就要修改網(wǎng)卡的配置文件了。 
  5.  param: 
  6.      - up        啟動指定網(wǎng)絡(luò)設(shè)備/網(wǎng)卡。 
  7.      - down      關(guān)閉指定網(wǎng)絡(luò)設(shè)備/網(wǎng)卡。該參數(shù)可以有效地阻止通過指定接口的IP信息流, 
  8.      -a       無論是否激活,顯示所有配置的網(wǎng)絡(luò)接口。 
  9.      -add          給指定網(wǎng)卡配置IPv6地址 
  10.     -del          刪除指定網(wǎng)卡的IPv6地址 
  11.     -arp|-arp        打開或關(guān)閉支持ARP協(xié)議 
  12.     -mtu<字節(jié)數(shù)>      設(shè)置網(wǎng)卡的最大傳輸單元 
  13.     -netmask<子網(wǎng)掩碼> 設(shè)置網(wǎng)卡的子網(wǎng)掩碼 
  14.  example: 
  15.      查看網(wǎng)絡(luò)信息 
  16.      #ifconfig 
  17.      打開和關(guān)閉指定網(wǎng)卡 
  18.      # ifconfig eno16777736 down 
  19.      啟用和關(guān)閉ARP 
  20.      # ifconfig eno16777736 arp 
  21.      # ifconfig eno16777736 -arp  
  22.     設(shè)置網(wǎng)卡的mac地址 
  23.     # ifconfig eno16777736 hw ether 00:0c:29:4d:a3:dd 

網(wǎng)絡(luò)可用性測試

網(wǎng)絡(luò)可用性測試其實很簡單,簡單的說就是能上網(wǎng)即可。linux中提供了ping、route、traceroute、nslookup、netstat、dig、幾個命令即可完整的測試網(wǎng)絡(luò)的可用性。當(dāng)然有mrt這樣的組合工具,但是其不是所有主機上都有。

Ping

它通過向目標(biāo)主機發(fā)送一個個數(shù)據(jù)包以及接受數(shù)據(jù)包的回應(yīng)來判斷主機和目標(biāo)主機之間網(wǎng)絡(luò)連接情況。ping的兩個功能:判斷網(wǎng)絡(luò)是否可達、網(wǎng)絡(luò)性能統(tǒng)計。

  1. usage: ping 【選項】 目標(biāo)主機或IP地址 
  2. descript: ping使用的是網(wǎng)絡(luò)層的ICMP協(xié)議。 
  3. params: 
  4.   -c設(shè)置數(shù)據(jù)包的數(shù)量 
  5.   -s設(shè)置數(shù)據(jù)包的大小,默認(rèn)為64字節(jié)(包括8字節(jié)ICMP協(xié)議頭、56字節(jié)測試數(shù)據(jù)、20字節(jié)IP協(xié)議頭) 
  6.   -t設(shè)置數(shù)據(jù)包的生存期(TTL) 
  7.   -i設(shè)置數(shù)據(jù)包的間隔,默認(rèn)為1s 
  8.   -R記錄路由過程 
  9.   -r忽略普通的路由表,直接將數(shù)據(jù)包發(fā)送到遠程主機上 
  10.   -v詳細(xì)顯示命令的執(zhí)行過程 
  11.   -P設(shè)置填滿數(shù)據(jù)包的范本樣式 
  12.   -f極限檢測,以最小的間隔來測試 
  13.   -I設(shè)置指定的網(wǎng)絡(luò)接口發(fā)送數(shù)據(jù)包 
  14.  
  15. example 
  16.   # ping -c 2  www.baidu.com 
  17.   PING www.a.shifen.com (61.135.169.125) 56(84) bytes of data. 
  18.   64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=1 ttl=55 time=1.97 ms 
  19.   64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=2 ttl=55 time=1.66 ms 
  20.   報文尺寸    目標(biāo)設(shè)備主機名或IP           序號    生存期  往返時間 
  21.  
  22.   --- www.a.shifen.com ping statistics ---統(tǒng)計信息摘要 
  23.   2 packets transmitted, 2 received, 0% packet loss, time 1001ms 
  24.   發(fā)送包數(shù)          接受包數(shù)    丟包率      響應(yīng)時間       
  25.   rtt min/avg/max/mdev = 1.666/1.821/1.977/0.161 ms 
  26.   應(yīng)答計算最小值/平均值/最大值/ 

netstat

是network statistics的縮寫,主要用于檢測主機(本機)的網(wǎng)絡(luò)配置和狀況,用于查看與IP、TCP、UDP、ICMP協(xié)議相關(guān)的統(tǒng)計數(shù)據(jù),可以查看顯示網(wǎng)絡(luò)連接(包括進站和出戰(zhàn))、系統(tǒng)路由表、網(wǎng)絡(luò)接口狀態(tài)等。

網(wǎng)絡(luò)狀態(tài):

從客戶端看其狀態(tài)變化為:CLOSED->SYN_SENT->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2->TIME_WAIT->CLOSED

從服務(wù)端看其狀態(tài)變化為:CLOSED->LISTEN->SYN_RECVD->ESTABLISHED->CLOSE_WAIT->LAST_ACK->CLOSED

下面是個個狀態(tài)的描述:

  1. *ESTABLISHED 
  2.     The socket has an established connection
  3.     套接字有一個已建立的連接。 
  4. *SYN_SENT 
  5.     The socket is actively attempting to establish a connection.  
  6.     套接字正在積極地嘗試建立連接。 
  7. *SYN_RECV 
  8.     A connection request has been received from the network. 
  9.     已從網(wǎng)絡(luò)接收到連接請求。 
  10. *FIN_WAIT1 
  11.     The socket is closed, and the connection is shutting down. 
  12.     套接字關(guān)閉,連接關(guān)閉。 
  13. *FIN_WAIT2 
  14.     Connection is closed, and the socket is waiting for a shutdown from the remote end
  15.     連接關(guān)閉,而套接字正在等待遠程結(jié)束的關(guān)閉。 
  16. *TIME_WAIT 
  17.     The socket is waiting after close to handle packets still in the network. 
  18.     該套接字在接近處理網(wǎng)絡(luò)中的數(shù)據(jù)包后等待。 
  19. *CLOSED 
  20.     The socket is not being used. 
  21.     套接字沒有被使用。 
  22. *CLOSE_WAIT 
  23.      The remote end has shut down, waiting for the socket to close
  24.      遠端關(guān)閉,等待套接字關(guān)閉。 
  25. *LAST_ACK 
  26.     The remote end has shut down, and the socket is closed. Waiting for acknowledgement. 
  27.     遠端關(guān)閉,套接字關(guān)閉。等待確認(rèn)。 
  28. *LISTEN 
  29.     The  socket is listening for incoming connections.  套接字是監(jiān)聽傳入的連接。 
  30. *CLOSING 
  31.     Both sockets are shut down but we still don’t have all our data sent. 
  32.     兩個套接字都關(guān)閉了,但我們?nèi)匀粵]有所有的數(shù)據(jù)發(fā)送。 
  33. *UNKNOWN 
  34.     The state of the socket is unknown. 
  35.     套接字的狀態(tài)未知。 
  1. useage: netstat 【選項】 
  2. descript:查看linux本機的狀況 
  3. param: 
  4.   -r——顯示當(dāng)前主機路由表信息 
  5.   -a——顯示當(dāng)前所有開放的端口(比默認(rèn)還要多幾個) 
  6.   -t——顯示tcp傳輸協(xié)議的連接狀況,等加于netstat | grep tcp 但-t更快 
  7.   -u——顯示udp傳輸協(xié)議的連接狀況,等價于netstat | grep udp 
  8.   -i——顯示所有網(wǎng)絡(luò)接口的統(tǒng)計信息表 
  9.   -l——顯示正處于監(jiān)聽狀態(tài)的服務(wù)和端口 
  10.   -p——顯示正在使用端口的服務(wù)進程號和服務(wù)程序名稱 
  11.   -c——持續(xù)列出網(wǎng)絡(luò)狀態(tài),監(jiān)控連接情況 
  12.   -n——以數(shù)字的形式顯示IP地址和端口號 
  13.   -e——顯示以太網(wǎng)的統(tǒng)計信息,此項可以與a組合使用 
  14. example  
  15.   $ netstat -atn 
  16.   Active Internet connections (servers and established) 
  17.   協(xié)議   收   送   本地地址          與本地連接的遠程主機地址  連接狀態(tài) 
  18.   Proto Recv-Q Send-Q Local Address           Foreign Address         State       
  19.   tcp        0      0 0.0.0.0:42081           0.0.0.0:*               LISTEN          
  20.   tcp        0      1 172.30.0.54:47570       74.125.204.102:443      SYN_SENT      
  21.   tcp        0      0 172.30.0.54:32840       165.254.134.121:80      ESTABLISHED 
  22.   tcp        0      1 172.30.0.54:47568       74.125.204.102:443      SYN_SENT    
  23.   tcp6       0      0 :::56937                :::*                    LISTEN        
  24.  
  25.   State——表示連接狀態(tài), 
  26.           常見的狀態(tài)有l(wèi)isten(表示監(jiān)聽狀態(tài),等待接收入站的請求)、 
  27.           established(表示本機已經(jīng)與其他主機建立好連接)、 
  28.           time_wait(等待足夠的時間以確保遠程TCP接收連接中斷請求的確認(rèn))、 
  29.           syn sent(嘗試發(fā)起連接)、 
  30.           syn recv(接受發(fā)起的連接)等 
  31.  
  32.   # 查看所有連接 
  33.   $ netstat -a 
  34.   # 查看所有tcp連接 
  35.   $ netstat -at 
  36.   # 查看所有udp連接 
  37.   $ netstat -au 
  38.   # 查看所有unixsocket連接 
  39.   $ netstat -ax 
  40.   # 同時列出進場信息 
  41.   $ netstat -ap 
  42.   # 查看服務(wù)器當(dāng)前的網(wǎng)絡(luò)連接情況 
  43.   $ netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 
  44.   # 所有鏈接到本機的IP 
  45.   $ netstat -nut | awk '$NF=="ESTABLISHED" {print $5}' | cut -d: -f1 | sort -u 
  46.   # 查看網(wǎng)絡(luò)監(jiān)聽 
  47.   $ netstat -ntlp 
  48.   $ netstat -nulp 
  49.   $ netstat -nxlp 
  50.   # 將會顯示使用該端口的應(yīng)用程序的進程id 
  51.   $ netstat -nap | grep port  
  52.   # 將會顯示包括TCP和UDP的所有連接 
  53.   $ netstat -a  or netstat –all 
  54.   # 將會顯示TCP連接    
  55.   $ netstat --tcp  or netstat –t  
  56.   # 將會顯示UDP連接 
  57.   $ netstat --udp or netstat –u  
  58.   # 將會顯示該主機訂閱的所有多播網(wǎng)絡(luò)。 
  59.   $ netstat -g  
  60.   # 有些服務(wù)器上沒安裝telnet等命名跟沒有nmap,此時想看遠程端口是否開放? 
  61.   $ echo >/dev/tcp/8.8.8.8/53 && echo "open" 
  62.   # 用netstat顯示所有tcp4監(jiān)聽端口 
  63.   $ netstat -lnt4 | awk '{print $4}' | cut -f2 -d: | grep -o '[0-9]*' 

route

該命令用來顯示并設(shè)置Linux內(nèi)核中的網(wǎng)絡(luò)路由表,主要設(shè)置靜態(tài)路由。

  1. usage: route (選項) 參數(shù) 
  2. 選項: 
  3.     -A:設(shè)置地址類型; 
  4.     -C:打印將Linux核心的路由緩存; 
  5.     -v:詳細(xì)信息模式; 
  6.     -n:不執(zhí)行DNS反向查找,直接顯示數(shù)字形式的IP地址; 
  7.     -e:netstat格式顯示路由表; 
  8.     -net:到一個網(wǎng)絡(luò)的路由表; 
  9.     -host:到一個主機的路由表。 
  10.  參數(shù): 
  11.     Add:增加指定的路由記錄; 
  12.     Del:刪除指定的路由記錄; 
  13.     Target:目的網(wǎng)絡(luò)或目的主機; 
  14.     gw:設(shè)置默認(rèn)網(wǎng)關(guān); 
  15.     mss:設(shè)置TCP的最大區(qū)塊長度(MSS),單位MB; 
  16.     window:指定通過路由表的TCP連接的TCP窗口大小; 
  17.     dev:路由記錄所表示的網(wǎng)絡(luò)接口。 
  18.  實例: 
  19.      # 顯示當(dāng)前路由 
  20.      $ route 
  21.      # 增加一條到達244.0.0.0的路由。 
  22.      $ route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 
  23.      # 刪除路由 
  24.      $ route del -net 224.0.0.0 netmask 240.0.0.0 
  25.      # 刪除網(wǎng)關(guān) 
  26.      $ route del default gw 192.168.120.240 

traceroute

命令用于追蹤數(shù)據(jù)包在網(wǎng)絡(luò)上的傳輸時的全部路徑,它默認(rèn)發(fā)送的數(shù)據(jù)包大小是40字節(jié)。

  1. usage: traceroute(選項)(參數(shù)) 
  2. 選項: 
  3.   -d:使用Socket層級的排錯功能; 
  4.   -f<存活數(shù)值>:設(shè)置第一個檢測數(shù)據(jù)包的存活數(shù)值TTL的大??; 
  5.   -F:設(shè)置勿離斷位; 
  6.   -g<網(wǎng)關(guān)>:設(shè)置來源路由網(wǎng)關(guān),最多可設(shè)置8個; 
  7.   -i<網(wǎng)絡(luò)界面>:使用指定的網(wǎng)絡(luò)界面送出數(shù)據(jù)包; 
  8.   -I:使用ICMP回應(yīng)取代UDP資料信息; 
  9.   -m<存活數(shù)值>:設(shè)置檢測數(shù)據(jù)包的最大存活數(shù)值TTL的大小; 
  10.   -n:直接使用IP地址而非主機名稱; 
  11.   -p<通信端口>:設(shè)置UDP傳輸協(xié)議的通信端口; 
  12.   -r:忽略普通的Routing Table,直接將數(shù)據(jù)包送到遠端主機上。 
  13.   -s<來源地址>:設(shè)置本地主機送出數(shù)據(jù)包的IP地址; 
  14.   -t<服務(wù)類型>:設(shè)置檢測數(shù)據(jù)包的TOS數(shù)值; 
  15.   -v:詳細(xì)顯示指令的執(zhí)行過程; 
  16.   -w<超時秒數(shù)>:設(shè)置等待遠端主機回報的時間; 
  17.   -x:開啟或關(guān)閉數(shù)據(jù)包的正確性檢驗。 
  18.  實例: 
  19.      # 測試到google.com的路由 
  20.      $ traceroute www.google.com 
  21.      # 設(shè)置跳轉(zhuǎn) 
  22.      $ traceroute -m 10 www.google.com 
  23.      # 知道斷開 
  24.      $ traceroute -p 10086 www.google.com 
  25.      # 繞過正常的路由表,直接發(fā)送到網(wǎng)絡(luò)相連的主機 
  26.      $ traceroute -r www.google.com 
  27.      # 把對外發(fā)探測包的等待響應(yīng)時間設(shè)置為3秒 
  28.      $ traceroute -w 3 www.google.com 

nslookup + dig

Linux中和dns有關(guān)的配置分別為:host文件,網(wǎng)卡知道的dns服務(wù)地址,resolv.conf指定的服務(wù)。在linux可以使用nslookup和dig來查詢域名解析的工具。

  1. usage: nslookup (選項) 參數(shù) 
  2. 選項:  
  3.     -sil:不顯示任何警告信息。 
  4. 實例: 
  5.     $ nslookup www.google.com 
  6.  
  7. usage: dig (選項) 參數(shù) 
  8. 選項: 
  9.   @<服務(wù)器地址>:指定進行域名解析的域名服務(wù)器; 
  10.   -b<ip地址>:當(dāng)主機具有多個IP地址,指定使用本機的哪個IP地址向域名服務(wù)器發(fā)送域名查詢請求; 
  11.   -f<文件名稱>:指定dig以批處理的方式運行,指定的文件中保存著需要批處理查詢的DNS任務(wù)信息; 
  12.   -P:指定域名服務(wù)器所使用端口號; 
  13.   -t<類型>:指定要查詢的DNS數(shù)據(jù)類型; 
  14.   -x<IP地址>:執(zhí)行逆向域名查詢; 
  15.   -4:使用IPv4; 
  16.   -6:使用IPv6; 
  17.   -h:顯示指令幫助信息。 
  18. 實例: 
  19.     # 查看域名 
  20.     $ dig www.google.com 
  21.     # 查看MX記錄 
  22.     $ dig www.google.com -t MX 
  23.     # 查看CNAME 
  24.     $ dig www.google.com -t CNAME 
  25.     # 指定dns,例如查詢8.8.8.8中的0opslab.com記錄 
  26.     $ dig +short @8.8.8.8 0opslab.com 
  27.     # 查看完整的解析信息 
  28.     $ dig +trace 0opslab.com 

網(wǎng)絡(luò)監(jiān)控

網(wǎng)絡(luò)監(jiān)控不論是開發(fā)還是運維都應(yīng)實時掌握的一個數(shù)據(jù),在平時開發(fā)中有云服務(wù)提供的監(jiān)控界面,和統(tǒng)一部署的監(jiān)控工具zabbix和nagios等服務(wù)。但是利用系統(tǒng)默認(rèn)提供的命令查看和監(jiān)控網(wǎng)絡(luò)也是必備技能。系統(tǒng)提供的常用工具有,tcpdump,dstat等。另外有一些比較好用的第三方監(jiān)控軟件,iftop,iptraf,nload等。

監(jiān)控總體帶寬使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload

監(jiān)控總體帶寬使用(批量式輸出)――vnstat、ifstat、dstat和collectl

每個套接字連接的帶寬使用――iftop、iptraf、tcptrack、pktstat、netwatch和trafshow

每個進程的帶寬使用――nethogs

tcpdump

說道網(wǎng)絡(luò)監(jiān)控,在linux有款工具不得不說,它就是tcpdump,他是一款命令行下的sniffer工具,dump the traffic on a network,根據(jù)使用者的定義對網(wǎng)絡(luò)上的數(shù)據(jù)包進行截獲的包分析工具。 tcpdump可以將網(wǎng)絡(luò)中傳送的數(shù)據(jù)包的“頭”完全截獲下來提供分析。它支 持針對網(wǎng)絡(luò)層、協(xié)議、主機、網(wǎng)絡(luò)或端口的過濾,并提供and、or、not等邏輯語句來幫助你去掉無用的信息。

  1. usage :tcpdum (選項) 
  2. 選項: 
  3.   -a:嘗試將網(wǎng)絡(luò)和廣播地址轉(zhuǎn)換成名稱; 
  4.   -c<數(shù)據(jù)包數(shù)目>:收到指定的數(shù)據(jù)包數(shù)目后,就停止進行傾倒操作; 
  5.   -d:把編譯過的數(shù)據(jù)包編碼轉(zhuǎn)換成可閱讀的格式,并傾倒到標(biāo)準(zhǔn)輸出; 
  6.   -dd:把編譯過的數(shù)據(jù)包編碼轉(zhuǎn)換成C語言的格式,并傾倒到標(biāo)準(zhǔn)輸出; 
  7.   -ddd:把編譯過的數(shù)據(jù)包編碼轉(zhuǎn)換成十進制數(shù)字的格式,并傾倒到標(biāo)準(zhǔn)輸出; 
  8.   -e:在每列傾倒資料上顯示連接層級的文件頭; 
  9.   -f:用數(shù)字顯示網(wǎng)際網(wǎng)絡(luò)地址; 
  10.   -F<表達文件>:指定內(nèi)含表達方式的文件; 
  11.   -i<網(wǎng)絡(luò)界面>:使用指定的網(wǎng)絡(luò)截面送出數(shù)據(jù)包; 
  12.   -l:使用標(biāo)準(zhǔn)輸出列的緩沖區(qū); 
  13.   -n:不把主機的網(wǎng)絡(luò)地址轉(zhuǎn)換成名字; 
  14.   -N:不列出域名; 
  15.   -O:不將數(shù)據(jù)包編碼最佳化; 
  16.   -p:不讓網(wǎng)絡(luò)界面進入混雜模式; 
  17.   -q :快速輸出,僅列出少數(shù)的傳輸協(xié)議信息; 
  18.   -r<數(shù)據(jù)包文件>:從指定的文件讀取數(shù)據(jù)包數(shù)據(jù); 
  19.   -s<數(shù)據(jù)包大小>:設(shè)置每個數(shù)據(jù)包的大小; 
  20.   -S:用絕對而非相對數(shù)值列出TCP關(guān)聯(lián)數(shù); 
  21.   -t:在每列傾倒資料上不顯示時間戳記; 
  22.   -tt: 在每列傾倒資料上顯示未經(jīng)格式化的時間戳記; 
  23.   -T<數(shù)據(jù)包類型>:強制將表達方式所指定的數(shù)據(jù)包轉(zhuǎn)譯成設(shè)置的數(shù)據(jù)包類型; 
  24.   -v:詳細(xì)顯示指令執(zhí)行過程; 
  25.   -vv:更詳細(xì)顯示指令執(zhí)行過程; 
  26.   -x:用十六進制字碼列出數(shù)據(jù)包資料; 
  27.   -w<數(shù)據(jù)包文件>:把數(shù)據(jù)包數(shù)據(jù)寫入指定的文件。 
  28. 實例: 
  29.     # 截取所有數(shù)據(jù)包 
  30.     $ tcpdump 
  31.     # 監(jiān)視指定接口上的數(shù)據(jù)包 
  32.     $ tcpdump -i eth1 
  33.     # 打印所有進入或離開sundown的數(shù)據(jù)包 
  34.     $ tcpdump host sundown 
  35.     # 也可以指定ip,例如截獲所有210.27.48.1 的主機收到的和發(fā)出的所有的數(shù)據(jù)包 
  36.     $ tcpdump host 210.27.48.1  
  37.     # 打印所有hello 月hot或者與ace之間的通信包 
  38.     $ tcpdump host hello and \( hot or ace \) 
  39.     # 主機210.27.48.1 和主機210.27.48.2 或210.27.48.3的通信 
  40.     $ tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \) 
  41.     # 打印ace與任何其他主機之間通信的IP 數(shù)據(jù)包, 但不包括與helios之間的數(shù)據(jù)包. 
  42.     $ tcpdump ip host ace and not helios 
  43.     # 如果想要獲取主機210.27.48.1除了和主機210.27.48.2之外所有主機通信的ip包,使用命令: 
  44.     $ tcpdump ip host 210.27.48.1 and ! 210.27.48.2 
  45.     # 截獲主機hostname發(fā)送的所有數(shù)據(jù) 
  46.     $ tcpdump -i eth0 src host hostname 
  47.     # 監(jiān)視所有送到主機hostname的數(shù)據(jù)包 
  48.     $ tcpdump -i eth0 dst host hostname 
  49.      # 如果想要獲取主機210.27.48.1接收或發(fā)出的telnet包,使用如下命令 
  50.     $ tcpdump tcp port 23 and host 210.27.48.1 
  51.     # 對本機的udp 123 端口進行監(jiān)視 123 為ntp的服務(wù)端口 
  52.     $ tcpdump udp port 123  

dstat

dstat命令是一個用來替換vmstat、iostat、netstat、和ifstat這些工具的。是一個全能系統(tǒng)信息統(tǒng)計工具。dstat非常強大,可以實時的監(jiān)控cpu、磁盤、網(wǎng)絡(luò)、IO、內(nèi)存等使用情況,與sysstat相比,dstat擁有一個彩色的界面,在手動觀察性能狀況時,數(shù)據(jù)比較顯眼容易觀察;而且dstat支持即時刷新,譬如輸入dstat 3即每三秒收集一次,但最新的數(shù)據(jù)都會每秒刷新顯示。和sysstat相同的是,dstat也可以收集指定的性能資源,譬如dstat -c即顯示CPU的使用情況。

  1. usage: 
  2.     dstat [-afv] [options] [delay [count]] 
  3. params: 
  4.     # dstat --list 可以查看dstat能使用的所有參數(shù) 
  5.     -c,--cpu 統(tǒng)計CPU狀態(tài),包括 user, system, idle, 等待磁盤IO,硬件中斷,軟件中斷等; 
  6.     -d, --disk 統(tǒng)計磁盤讀寫狀態(tài) 
  7.     -D total,sda 統(tǒng)計指定磁盤或匯總信息 
  8.     -l, --load 統(tǒng)計系統(tǒng)負(fù)載情況,包括1分鐘、5分鐘、15分鐘平均值 
  9.     -m, --mem 統(tǒng)計系統(tǒng)物理內(nèi)存使用情況,包括used, buffers, cache, free 
  10.     -s, --swap 統(tǒng)計swap已使用和剩余量 
  11.     -n, --net 統(tǒng)計網(wǎng)絡(luò)使用情況,包括接收和發(fā)送數(shù)據(jù) 
  12.     -N eth1,total  統(tǒng)計eth1接口匯總流量 
  13.     -r, --io 統(tǒng)計I/O請求,包括讀寫請求 
  14.     -p, --proc 統(tǒng)計進程信息,包括runnable、uninterruptible、new 
  15.     -y, --sys 統(tǒng)計系統(tǒng)信息,包括中斷、上下文切換 
  16.     -t 顯示統(tǒng)計時時間,對分析歷史數(shù)據(jù)非常有用 
  17.     --fs 統(tǒng)計文件打開數(shù)和inodes數(shù) 
  18.     --nocolor 不顯示顏色 
  19.     --socket 顯示網(wǎng)絡(luò)統(tǒng)計數(shù)據(jù) 
  20.     --tcp 顯示常用的tcp統(tǒng)計 
  21.     --udp 監(jiān)聽的UDP接口及其當(dāng)前用量的一些動態(tài)數(shù)據(jù) 
  22. 另外dstat附帶了一些強大的插件,可以通用/usr/share/dstat查看。常用的有 
  23.     --dist-util 顯示某一時間磁盤的忙碌情況 
  24.     --freespace 顯示當(dāng)前磁盤的使用率 
  25.     --proc-count 顯示正在運行的程序數(shù)量 
  26.     --top-bio 顯示塊I/O最大的進場 
  27.     --top-cpu 顯示CPU占用最大的進程 
  28.     --top-io 顯示正常I/O最大的進程 
  29.     --top-mem 顯示占用最多內(nèi)存的進場 
  30.  
  31. example: 
  32. # dstat 
  33. //cpu-usgae 
  34. //usr 用戶進場消耗cpu的時間百分比 sys內(nèi)核進程消耗的CPU時間百分比  
  35. //idl CPU處在空閑狀態(tài)時間百分比 
  36. //wai IO等待消耗的CPU時間百分比  
  37. //hiq 硬中斷 siq 軟中斷 
  38. ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- 
  39. usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw 
  40.   0   0  99   0   0   0|7706B  164k|   0     0 |   0     0 | 189   225 
  41.   0   0 100   0   0   0|   0     0 |4436B  826B|   0     0 | 195   248 
  42.  
  43. # dstat --top-mem --top-io --top-cpu 
  44. --most-expensive- ----most-expensive---- -most-expensive- 
  45.   memory process |     i/o process      |  cpu process 
  46. systemd-jour23.0M|weixin        0     0 |barad_agent  0.0 
  47.  
  48. //查看系統(tǒng)負(fù)載 
  49. # dstat -l 
  50. //查看系統(tǒng)內(nèi)存 
  51. # dstat -m 
  52. // 查看內(nèi)存占用 
  53. # dstat -g -l -m -s --top-mem 
  54. // 輸出一個csv文件 
  55. # dstat --output /tmp/sampleoutput.csv -cdn 
  56. // 查看cpu、disk、net、page、system的信息 沒10秒更新一次 
  57. # dstat 10 
  58. //將監(jiān)控信息保存的文件中 
  59. # dstat 10 --output /tmp/ds.csv 
  60. //監(jiān)控swap,process,sockets,filesystem并顯示監(jiān)控的時間 
  61. # dstat -tsp --socket --fs 
  62. // 監(jiān)控當(dāng)前最消耗IO的進程和最消耗塊設(shè)備IO的進程 
  63. # dstat -t --top-io-adv --top-bio-adv 
  64. // 監(jiān)控當(dāng)時最耗CPU/BLOCK IO/內(nèi)存/IO的進程 
  65. # dstat --top-cpu --top-bio --top-mem --top-io 
  66. //查看全部內(nèi)存都有誰在占用 
  67. # dstat -g -l -m -s --top-mem 
  68. //顯示一些關(guān)于CPU資源損耗的數(shù)據(jù) 
  69. #dstat -c -y -l --proc-count --top-cpu 

對于高速主機上利用iftop等基于libpacp庫的工具來說不能完美的工作,此時可以直接查看相應(yīng)的系統(tǒng)文件記錄。利潤eth0網(wǎng)卡是的數(shù)據(jù)信息,可以直接查看對應(yīng)的文件

  • /sys/class/net/eth0/statistics/rx_packets: 收到的數(shù)據(jù)包數(shù)據(jù)
  • /sys/class/net/eth0/statistics/tx_packets: 傳輸?shù)臄?shù)據(jù)包數(shù)量
  • /sys/class/net/eth0/statistics/rx_bytes: 接收的字節(jié)數(shù)
  • /sys/class/net/eth0/statistics/tx_bytes: 傳輸?shù)淖止?jié)數(shù)
  • /sys/class/net/eth0/statistics/rx_dropped: 當(dāng)收到包數(shù)據(jù)包下降的數(shù)據(jù)量
  • /sys/class/net/eth0/statistics/tx_dropped: 傳輸包數(shù)據(jù)包下降的數(shù)據(jù)量

這些數(shù)據(jù)會根據(jù)內(nèi)核數(shù)據(jù)發(fā)生變更的時候自動刷新。因此,你可以編寫一系列的腳本進行分析并計算流量統(tǒng)計。

責(zé)任編輯:武曉燕 來源: 浮游于星辰大海
相關(guān)推薦

2010-08-06 12:47:18

Linux NFS

2011-01-18 11:52:25

Linux語音識別

2010-12-22 13:19:43

Linux性能監(jiān)測網(wǎng)絡(luò)

2020-03-31 10:18:57

網(wǎng)絡(luò)命令kalilinux

2010-03-09 10:11:34

Linux掛載命令

2010-03-10 09:27:36

Linux鏈接文件類型

2023-11-01 10:38:46

Linux高性能網(wǎng)絡(luò)編程

2013-04-02 11:21:52

Linux操作系統(tǒng)虛擬主機

2023-11-01 11:40:46

Linux高性能網(wǎng)絡(luò)編程工具

2020-12-01 07:08:23

Linux網(wǎng)絡(luò)I

2010-06-02 15:21:29

Linux 網(wǎng)絡(luò)性能

2010-06-02 15:45:45

Linux 網(wǎng)絡(luò)性能

2010-06-02 15:37:38

Linux 網(wǎng)絡(luò)性能

2011-03-29 14:44:42

zabbix安裝

2018-10-10 09:23:30

服務(wù)器iptablesLinux

2009-03-26 17:23:57

LinuxWebLogic安裝調(diào)試

2010-07-05 15:33:49

2021-01-15 05:15:09

Linux網(wǎng)絡(luò)配置

2018-08-08 15:00:44

Kvm虛擬機Linux

2019-03-18 11:15:07

Linux性能網(wǎng)絡(luò)
點贊
收藏

51CTO技術(shù)棧公眾號