當前位置:首頁 » 操作系統 » linux埠流量

linux埠流量

發布時間: 2022-12-27 13:45:47

linux下怎麼查看某個埠的流量,要做一個軟體顯示埠號和這個埠的流量 例如21埠的流量是多少

使用iptraf就可以實現各個埠流量顯示

yum-yinstalliptraf

② linux怎麼將傳入流量過濾到UDP埠5353。

答:cmd netstat -an 用本地連接-TCP/IP-高級-選項-TCP/IP篩選,啟用篩選機制來篩選埠;

③ 寶塔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

④ Linux 下用什麼命令查看流量

• nethogs: 按進程查看流量佔用
• iptraf: 按連接/埠查看流量
• ifstat: 按設備查看流量
• ethtool: 診斷工具
• tcpmp: 抓包工具希賽里有很多這方面資料的。

⑤ 查看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

⑥ 在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的對應關系,也就知道了數據包和進程之間的對應關系了。

⑦ TC - Linux 流量控制工具

參考: TC - Linux 流量控制工具 | Life is magic. Coding is art. (int64.me)

TC(Linux下流量控制工具)詳細說明及應用_Gino的專欄-CSDN博客

本來打算直接列一波用法,但是總覺得,不記錄一下原理,操作起來也是一臉懵逼。 TC 通過建立處理數據包隊列,並定義隊列中數據包被發送的方式,從而實現進行流量控制。TC 模擬實現流量控制功能使用的隊列分為兩類:

classful 隊列規定(qdisc), 類(class)和過濾器(filter)這 3 個組件組成,繪圖中一般用圓形表示隊列規定,用矩形表示類,圖 自 Linux 下 TC 以及 netem 隊列的使用

都是以一個根 qdisc 開始的,若根 qdisc 是不分類的隊列規定,那它就沒有子類,因此不可能包含其他的子對象,也不會有過濾器與之關聯,發送數據時,數據包進入這個隊列裡面排隊,然後根據該隊列規定的處理方式將數據包發送出去。

分類的 qdisc 內部包含一個或多個類,而每個類可以包含一個隊列規定或者包含若干個子類,這些子類友可以包含分類或者不分類的隊列規定,如此遞歸,形成了一個樹。

句柄號:qdisc 和類都使用一個句柄進行標識,且在一棵樹中必須是唯一的,每個句柄由主號碼和次號碼組成 qdisc 的次號碼必須為 0(0 通常可以省略不寫)

根 qdisc 的句柄為 1:,也就是 1:0。類的句柄的主號碼與它的父輩相同(父類或者父 qdisc),如類 1:1 的主號碼與包含他的隊列規定 1:的主號碼相同,1:10 和 1:11 與他們的父類 1:1 的主號碼相同,也為 1。

新建一個類時,默認帶有一個 pfifo_fast 類型的不分類隊列規定,當添加一個子類時,這個類型的 qdisc 就會被刪除,所以,非葉子類是沒有隊列規定的,數據包最後只能到葉子類的隊列規定裡面排隊。

若一個類有子類,那麼允許這些子類競爭父類的帶寬,但是,以隊列規定為父輩的類之間是不允許相互競爭帶寬的。

默認 TC 的 qdisc 控制就是出口流量,要使用 TC 控制入口,需要把流量重定向到 ifb 網卡,其實就是加了一層,原理上還是控制出口 。

為何要先說 classless 隊列,畢竟這個簡單嘛,要快速使用,那麼這個就是首選了。基於 classless 隊列,我們可以進行故障模擬,也可以用來限制帶寬。

TC 使用 linux network netem 模塊進行網路故障模擬

網路傳輸並不能保證順序,傳輸層 TCP 會對報文進行重組保證順序,所以報文亂序對應用的影響比上面的幾種問題要小。

報文亂序可前面的參數不太一樣,因為上面的報文問題都是獨立的,針對單個報文做操作就行,而亂序則牽涉到多個報文的重組。模擬報亂序一定會用到延遲(因為模擬亂序的本質就是把一些包延遲發送),netem 有兩種方法可以做。

以 tbf (Token Bucket Filter) 為例,

參數說明:

限制 100mbit

限制延遲 100ms, 流量 100mbit

這個就復雜一些,同樣也特別靈活,可以限制特定的 ip 或者服務類型以及埠

以使用 htb 為例

使用 TC 進行入口限流,需要把流量重定向到 ifb 虛擬網卡,然後在控制 ifb 的輸出流量

⑧ 怎樣查看 linux 系統 netflow

這個不會有人幫你寫出個完整的shell。因為每台機器的操作系統都不一定吻合,不過我可以給你個自己做的參考:
1,啟動你伺服器的snmp伺服器,編輯/etc/snmp/snmpd.conf
修改裡面的 com2sec notConfigUser default , 有困惑,可以在網上搜索snmp服務配置。然後/etc/init.d/snmpd start 啟動服務。
2. 安裝net-snmp
yum install net-snmp
3.驗證你伺服器snmp是否正確安裝:
snmpwalk -v 2c -c 127.0.0.1
有返回信息就是正確。
4. 寫你shell程序,通過snmpwalk可查看各網卡埠流量,可根據下面我提供的信息你自己選擇你要監控的埠。
[root@AAA snmp]# snmpwalk -v 2c -c 127.0.0.1 IF-MIB::ifHCOutOctets
IF-MIB::ifHCOutOctets.1 = Counter64: 2458933344
IF-MIB::ifHCOutOctets.2 = Counter64: 1714076390
IF-MIB::ifHCOutOctets.3 = Counter64: 0
IF-MIB::ifHCOutOctets.4 = Counter64: 0
[root@AAA snmp]# snmpwalk -v 2c -c c 127.0.0.1 IF-MIB::ifHCInOctets
IF-MIB::ifHCInOctets.1 = Counter64: 2458940740
IF-MIB::ifHCInOctets.2 = Counter64: 3011885260
IF-MIB::ifHCInOctets.3 = Counter64: 0
IF-MIB::ifHCInOctets.4 = Counter64: 0

實際shell賦值,可以通過snmpget命令而不是snmpwalk。比如:
[root@AAA snmp]# snmpget -v 2c -c 127.0.0.1 IF-MIB::ifHCOutOctets.1
IF-MIB::ifHCOutOctets.1 = Counter64: 2458947627

這樣,你就可以通過shell,吧值賦給變數,例子如下:

[root@AAA snmp]# var=`snmpget -v 2c -c 127.0.0.1 IF-MIB::ifHCOutOctets.1 | awk '{print $4}'`;echo $var
2458981520

我已經提供全過程的信息給你了。具體你琢磨著去弄你的shell吧。

哈,有點頭暈。。。如果只監測自己機器,樓上仁兄那個最好。採納他吧。

⑨ linux中如何控制埠流量

配置網卡
建立一台虛擬機,並安裝完成後以橋接的方式在虛擬機上面添加兩張網卡。分別為eth0和eth1。
eth0: a.b.c.d(外網的上網地址)
eth1: 172.16.44.1(做為內網的網關)

Tip
原先我使用eth0:0的這種虛擬網卡的形式去配置一直不成功,後來使用雙網卡的時候一直忘了把eth0:0這張虛擬網卡刪掉導致了限速配置一直不成功,浪費了大把的青蔥。
配置iptables nat
#開啟ip_forward
echo "1">/proc/sys/net/ipv4/ip_forward

#清除原來的防火牆規則
iptables -F
iptables -t nat -F
iptables -t mangle -F

#添加nat轉發
iptables -t nat -A POSTROUTING -s 172.16.44.0/24 -o eth0 -j MASQUERADE

通過執行上面的代碼後,區域網內的電腦就可以上網了。
埠轉發
由於我的內網還掛了網站,所以要開啟80埠的轉發。
iptables -t nat -I PREROUTING -p tcp -d a.b.c.d --dport 80 -j DNAT --to 172.16.44.210:80
iptables -t nat -I POSTROUTING -p tcp -d 172.16.44.210 --dport 80 -j SNAT --to 172.16.44.1

這條命令指定外網地址a.b.c.d的80埠轉發到172.16.44.210:80上。由於是雙網卡,所以需要做一下迴路。
下載限速
下載限速要在eth1上面做,判斷數據包的目的地址來做限制。tc包括三部分:隊列、類、過濾器。我使用了htb方式去限制速度,也可以使用cbq,但cbq配置比較復雜一點,而且據說性能沒htb好。
#刪除原來的tc規則隊列
tc qdisc del dev eth1 root
#添加tc規則隊列
tc qdisc add dev eth1 root handle 10: htb default 256
#生成根類
tc class add dev eth1 parent 10: classid 10:1 htb rate 100mbit ceil 100mbit
#支類列表用於限制速度
#這里的rate指的是保證帶寬,ceil是最大帶寬。
tc class add dev eth1 parent 10:1 classid 10:10 htb rate 400kbps ceil 400kbps prio 1

#添加支類規則隊列
#採用sfq偽隨機隊列,並且10秒重置一次散列函數。
tc qdisc add dev eth1 parent 10:10 handle 101: sfq perturb 10

#建立網路包過濾器,設置fw。
tc filter add dev eth1 parent 10: protocol ip prio 10 handle 1 fw classid 10:10
#在iptables裡面設定mark值,與上面的handle值對應。
iptables -t mangle -A POSTROUTING -d 172.16.44.130 -j MARK --set-mark 1

通過上面的代碼就可以限制172.16.44.130這台機子的下載速度到400kbps。
Tip
經過實際測試這里的kbps實際上就是KB/S每秒千位元組。另一個單位是kbit,這個才是每秒千比特。這里的172.16.44.130也可以寫成一個網段,比如:172.16.44.0/24
上傳限速
上傳限速的原理其實跟下載的差不多,只不過限制的網卡不同,要在eth0上過濾來源地址去限制。
#刪除原來的tc規則隊列
tc qdisc del dev eth0 root

#添加tc規則隊列
tc qdisc add dev eth0 root handle 20: htb default 256

#生成根類
tc class add dev eth0 parent 20: classid 20:1 htb rate 100mbit ceil 100mbit

#支類列表用於限制速度
tc class add dev eth0 parent 20:1 classid 20:10 htb rate 40kbps ceil 40kbps prio 1

#添加支類規則隊列
tc qdisc add dev eth0 parent 20:10 handle 201: sfq perturb 10

#建立網路包過濾器
tc filter add dev eth0 parent 20: protocol ip prio 100 handle 2 fw classid 20:10
iptables -t mangle -A PREROUTING -s 172.16.44.130 -j MARK --set-mark 2

Tip
跟下載不同的是POSTROUTING要改成PREROUTING,-d改成-s。
觀察連接數
通過iptables的nat連接可以通過下面的代碼查看。至於統計連接數可以寫代碼實現,也可以利用awk,grep等工具。反正裡面的內容就是文本,處理起來也比較簡單。
cat /proc/net/ip_conntrack

寫在結尾
到此上網、埠轉發和流量限制都已經實現。下次再考慮配置個dhcp server和dnsmasq。至於一些路由器其它諸如mac地址綁定,限制上網等用到的時候再去研究研究。

熱點內容
pythonsae 發布:2025-05-10 21:59:30 瀏覽:964
rdp演算法 發布:2025-05-10 21:46:40 瀏覽:917
c語言求素數的方法 發布:2025-05-10 21:46:39 瀏覽:764
戰地5配置最低怎麼設置 發布:2025-05-10 21:44:12 瀏覽:674
microsoftsql2012 發布:2025-05-10 21:43:33 瀏覽:428
電腦買個游戲伺服器 發布:2025-05-10 21:25:15 瀏覽:241
機櫃存儲空間 發布:2025-05-10 21:25:07 瀏覽:267
安卓手機如何修改首屏 發布:2025-05-10 21:17:59 瀏覽:959
緩存關聯替換 發布:2025-05-10 20:56:34 瀏覽:618
開源項目源碼 發布:2025-05-10 20:56:24 瀏覽:36