1. 百兆網卡跑多少流量,網卡就算滿了,在linux下怎麼查看網卡是否跑滿了
網卡計量用的是b\bit,和我們通常計量的B\byte換算關系是8:1,所以100M的網卡跑12M左右達到最大值。查看linux下網路流量可以使用iftop ,可以精確的看到每個IP的流量。
2. 查看linux網路流量及帶寬
在類Unix系統中可以使用top查看系統資源、進程、內存佔用等信息。查看網路狀態可以使用netstat、nmap等工具。若要查看實時的網路流量,監控TCP/IP連接等,則可以使用iftop。
iftop類似於top的實時流量監控工具,可以用來監控網卡的實時流量(可以指定網段)、反向解析IP、顯示埠信息等。
查看流量是從哪些埠發送出去的:
# iftop -P
-P 選項會在iftop 的輸出結果中開啟埠顯示
界面上面顯示的是類似刻度尺的刻度范圍,為顯示流量圖形的長條作標尺用的。
中間的<= =>這兩個左右箭頭,表示的是流量的方向。
TX:發送流量
RX:接收流量
TOTAL:總流量
Cumm:運行iftop到目前時間的總流量
peak:流量峰值
rates:分別表示過去 2s 10s 40s 的平均流量
要找到運行在該埠的進程,那麼可以用netstat 或者lsof 來找到相應的進程。
使用netstat 命令來找到運行在10910這個埠上的進程:
# netstat -tunp | grep 10910
可以使用lsof 命令來找到運行在10909這個埠上的進程:
# lsof -i:10909
查看進程PID為51919的應用程序:
# ps -ef |grep 51919
3. linux查看網路流量命令
方法一、nload工具
查看參數幫助命令:
nload –help
-a :這個好像是全部數據的刷新時間周期,單位是秒,默認是300.
-i :進入網卡的流量圖的顯示比例最大值設置,默認10240 kBit/s.
-m :不顯示流量圖,只顯示統計數據。
-o :出去網卡的流量圖的顯示比例最大值設置,默認10240 kBit/s.
-t :顯示數據的刷新時間間隔,單位是毫秒,默認500。
-u :設置右邊Curr、Avg、Min、Max的數據單位,默認是自動變的.注意大小寫單位不同!
h|b|k|m|g h: auto, b: Bit/s, k: kBit/s, m: MBit/s etc.
H|B|K|M|G H: auto, B: Byte/s, K: kByte/s, M: MByte/s etc.
-U:設置右邊Ttl的數據單位,默認是自動變的.注意大小寫單位不同(與-u相同)!
Devices:自定義監控的網卡,默認是全部監控的,使用左右鍵切換。
如只監控eth0命令: nload eth0
方法二、iftop工具
1、iftop界面相關說明
界面上面顯示的是類似刻度尺的刻度范圍,為顯示流量圖形的長條作標尺用的。
中間的<= =>這兩個左右箭頭,表示的是流量的方向。
TX: 發送流量
RX: 接收流量
TOTAL:總流量
Cumm: 運行iftop到目前時間的總流量
peak: 流量峰值
rates: 分別表示過去 2s 10s 40s 的平均流量
2、iftop相關參數
常用的參數 《Linux就該這么學》
-i 設定監測的網卡,如:# iftop -i eth1
-B 以bytes為單位顯示流量(默認是bits),如:# iftop -B
-n 使host信息默認直接都顯示IP,如:# iftop -n
-N 使埠信息默認直接都顯示埠號,如: # iftop -N
-F 顯示特定網段的進出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0
-h(display this message),幫助,顯示參數信息
-p 使用這個參數後,中間的列表顯示的本地主機信息,出現了本機以外的IP信息;
-b 使流量圖形條默認就顯示;
-f 這個暫時還不太會用,過濾計算包用的;
-P 使host信息及埠信息默認就都顯示;
-m設置界面最上邊的刻度的最大值,刻度分五個大段顯示,例:# iftop -m 100M
進入iftop畫面後的一些操作命令(注意大小寫)
按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退出監控。
方法三、 ifstat
參數:
-a 監測能檢測到的所有網路介面的狀態信息
-z 隱藏流量是無的介面,例如那些介面雖然啟動了但是未用的
-i 指定要監測的介面,後面跟網路介面名
時間:
-T 報告所有監測介面的全部帶寬
-w 用指定的列寬,而不是為了適應介面名稱的長度而去自動放大列寬
-W 如果內容比終端窗口的寬度還要寬就自動換行
-b 用kbits/s顯示帶寬而不是kbytes/s
4. Linux 下用什麼命令查看流量
• nethogs: 按進程查看流量佔用
• iptraf: 按連接/埠查看流量
• ifstat: 按設備查看流量
• ethtool: 診斷工具
• tcpmp: 抓包工具希賽里有很多這方面資料的。
5. linux如何查看都有那些程序在訪問網路,並能看到程序的流量。求大家幫忙。。。
netstat -ano 可以看弊畢出埠所運行的服務 以及這個 埠對外的連接
在安裝一個iftop 可以精確的看到每個IP的流量
如果你機器上是跑磨卜搭WEB 你就用iftop看下 訪問進來的IP 然後去apache裡面的日誌分析下是訪問的哪個瞎拿文件
6. linux防火牆設置,某個ip接收流量
你設置的應該是在input鏈上設置的,這個是出的清洞流罩慶量。應該在output鏈上設置
iptables -A output -d 目標ip -j DROP
另外如果這個ip沒有訪問你的伺服器而出的流量這么大的話可能是伺服器被入侵了,物正握往外發包。
7. 如何查看Linux伺服器中,異常流量來自哪個IP
Linux下使用iftop工具結合iptables服務來解決帶寬資源被惡意請求滿的問題,主要通過2個步驟來實現;
1. 使用iftop工具查出來是哪些個IP地址在請求主機的帶寬資源,找出耗帶寬的元兇
2. 找出耗帶寬的IP地址或者段,分析是out方向還是in方向,使用iptables規則來進行控制
具體的詳細操作方法如下;
一但出現帶寬被惡意請求,在帶寬被請滿的情況下基本上很難通過網路登入到伺服器上進行操作跟維護,這時我們需要通過阿里雲提供的「連接管理終端」服務來登入系統
一般建議在主機正常的時候直接在伺服器內部安裝好iftop工具,這樣出現惡意請求的時候直接可以使用該工具來進行排查,下面介紹下iftop的2中安裝方法
1.使用yum 安裝iftop工具
使用yum安裝的話比較簡單,只要直接執行 yum install iftop –y命令即可,如果沒問題的話系統就會自動執行安裝,但是有使用yum可能安裝不了,這時就需要使用編譯安裝了
2.編譯安裝iftop工具
(1)下載iftop工具的源碼包;
http://oss.aliyuncs.com/aliyunecs/iftop-0.17.tar.gz
(2)CentOS下安裝所需的依賴包
yum install flex byacc libpcap ncursesncurses-devel libpcap-devel
(3 解壓縮下載的iftop文件
tarzxvf iftop-0.17.tar.gz
(4 進入到解壓的的iftop目錄中
cdiftop-0.17
配置並制定安裝目錄為/usr/local/iftop目錄下
(5./configure –prefix=/usr/local/iftop
(6)編譯並安裝
make && make install
安裝完成以後直接使用/usr/local/iftop/sbin/iftop 啟動iftop程序查看流量使用情況,如果想使用iftop的方式直接開啟程序,需要將iftop的程序添加到環境變數中即可
結合使用iptables服務來限制惡意請求的流量;
iftop –i eth1 查看eth1這塊外網網卡的流量使用情況
通過上面這張信息很清楚的看到,121.199這台伺服器一直往192.230.123.101 這個地址發送流量,而且出去產生的流量相當大,幾乎把整個出網帶寬都給耗盡了
查到了惡意請求的原因跟目標主機以後,我們就可以使用iptables服務來對這種惡意行為進行限制了,因為從查看到的數據看主要的流量是從out方向出去的,那就直接在OUT方向設置策略
Iptables -A OUTPUT -d 192.230.123.101 –j REJECT
這里可能還會發現一個情況就是禁用了這個1個IP以後可能這個段的其它IP地址都有可能馬上就接上繼續請求,那就可以針對一個段來進行限制
iptables-A OUTPUT -d 192.230.0.0/16 -j REJECT
策略加上以後可以再使用iftop –i eth1 來查看流量的請求情況;
可以查看到流量已經恢復了正常,之前的惡意請求的地址都已經被防火牆給屏蔽了,效果比較好
另外iftop還有很多的參數可以實現比較多的功能,有時間的話可以研究研究,對排查網路流量攻擊以及掌控流量使用很有幫助的
8. 在linux下怎麼獲得 區域網各個ip,埠的流量速率和流量
Linux下是沒有文件直接給你按進程記錄流量信息的。你想要編程實現的話,辦法是有的,只是比較麻煩。首先,你需要能截取流經網卡的數據包,這個可以通過libpcap來完成,其次你要完成的最重要的一步就是怎麼根據埠號褲洞找到進程的pid。埠號通過截取的數據包可以獲得,這個時候你要按行來解析/proc/net/tcp (如果要支持ipv6的話還要解析/proc/net/tcp6),這個文件記錄了當前活躍的TCP連接情況,每一行代表一條連接,我們感興趣的是漏純喊其中的inode這一項,你得把inode的值解析出來保存。然後蛋疼的時候來了,接下來你得遍歷所有的/proc/pid/fd文件,察看其中每一個文件描述符,如果發現內容為socket[xxxx]的,把xxxx截取出來,這個xxxx也是inode號,如果和你之前解析/proc/net/tcp的inode號吻合,恭喜你,這說明這個pid和那個tcp連接有關系,進而也就確定了埠號和pid的對應關系,也就知道了數據包和進程之返野間的對應關系了。
9. linux下面有什麼工具可以查看每個進程的網路流量
iftop 很強大的,完全 可以做到
-i設定監測的網卡,如:# iftop -i eth1
-B 以謹棗bytes為單位顯示流量(默認是bits),如:# iftop -B
-n使host信息默埋晌運認直接都顯示IP,如:# iftop -n
-N使埠信息默認直接都顯示埠號,如: # iftop -N
-F顯示特定網段的進出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0
-h(display this message),幫助,顯示參數信息
-p使用這個參數後,中間的列表顯示的本地主機信息,出現了本機以外的IP信息;
-b使流量圖形條默認就顯示;
-f這個暫時還不太會用,過濾計算包用的;
-P使host信息及埠信息默認就都顯示;
-m設置界面彎梁最上邊的刻度的最大值,刻度分五個大段顯示,例:# iftop -m 100M
10. linux下面有什麼工具可以查看每個進程的網路流量
iftop
很強大的,完全
可以做到
-i設定監測的網卡,如:#
iftop
-i
eth1
-b
以bytes為單位顯示流量(默認是bits),如:#
iftop
-b
-n使host信息默認直接都顯示ip,如:#
iftop
-n
-n使埠信息默認直接都顯示埠號,如:
#
iftop
-n
-f顯示特定網段的進出流量,如#
iftop
-f
10.10.1.0/24或#
iftop
-f
10.10.1.0/255.255.255.0
-h(display
this
message),幫助,顯示參數信息
-p使用這個參數後,中間的列表顯示的本地主機信息,出現了本機以外的ip信息;
-b使流量圖形條默認就顯示;
-f這個暫時還不太會用,過濾計算包用的;
-p使host信息及埠信息默認就都顯示;
-m設置界面最上邊的刻度的最大值,刻度分五個大段顯示,例:#
iftop
-m
100m