在不修改源代碼的情況下對(duì)程序暴露端口流量進(jìn)行監(jiān)控統(tǒng)計(jì),可以利用Linux中自帶的Iptable添加簡(jiǎn)單的規(guī)則讓其起到端口流量統(tǒng)計(jì)的作用。但是需要注意的是在服務(wù)器重啟、Iptable服務(wù)重啟的時(shí)候統(tǒng)計(jì)數(shù)據(jù)會(huì)被重置清零。
添加需要統(tǒng)計(jì)的端口
1、輸入監(jiān)控
下面示例是監(jiān)控目標(biāo)端口是8080的輸入流量 --dport(destination port 的縮寫)
1
|
iptables -A INPUT -p tcp --dport 8080 |
2、輸出監(jiān)控
下面示例是監(jiān)控來源端口是8080的輸出流量 --sport(source port 的縮寫)
1
|
iptables -A OUTPUT -p tcp --sport 8080 |
查看統(tǒng)計(jì)數(shù)據(jù)
1
|
iptable -L - v -n -x |
示例結(jié)果:
8080端口接收的流量為2885字節(jié),發(fā)送的流量是8240字節(jié)
1
2
3
4
5
6
7
8
9
10
|
Chain INPUT (policy ACCEPT 202 packets, 25187 bytes) pkts bytes target prot opt in out source destination 18 2885 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 184 packets, 45774 bytes) pkts bytes target prot opt in out source destination 12 8240 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:8080 |
重置統(tǒng)計(jì)數(shù)據(jù)
注意:這里是重置所有端口的統(tǒng)計(jì)數(shù)據(jù)
1、重置所有輸入端口
1
|
Iptable -Z INPUT |
2、重置所有輸出端口
1
|
Iptable -Z OUTPUT |
移除統(tǒng)計(jì)端口
1、移除輸入端口
1
|
iptables -D INPUT -p tcp --dport 8080 |
2、移除輸出端口
1
|
iptables -D OUTPUT -p tcp --sport 8080 |
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:http://www.jianshu.com/p/34e846b8b8ac?utm_source=tuicool&utm_medium=referral