[三星]写一个脚本,统计当前网络对内和对外连接的流量,并按照对外流量排序
- oneleaf
- 论坛管理员
- 帖子: 10448
- 注册时间: 2005-03-27 0:06
- 系统: Ubuntu 12.04
[三星]写一个脚本,统计当前网络对内和对外连接的流量,并按照对外流量排序
1 任务内容: 写一个脚本,统计当前网络对内和对外连接的流量,并按照对外流量排序,将使用不同端口的相同IP汇总为一个。
2 任务的难度: 三星
3 任务的目的: 学习linux下的网络命令和数据统计
4 任务所涉及的软件: tcpdump
5 任务将大致消耗的时间: 1~2天
6 参考网站: 无
2 任务的难度: 三星
3 任务的目的: 学习linux下的网络命令和数据统计
4 任务所涉及的软件: tcpdump
5 任务将大致消耗的时间: 1~2天
6 参考网站: 无
- 早起看月亮
- 帖子: 61
- 注册时间: 2008-06-27 20:51
Re: [三星]写一个脚本,统计当前网络对内和对外连接的流量,并按照对外流量排序
这任务得先有一台linux服务器才能做吧,我只有本子做不起来
- k-usher
- 帖子: 74
- 注册时间: 2009-10-15 15:16
- 联系:
Re: [三星]写一个脚本,统计当前网络对内和对外连接的流量,并按照对外流量排序
怎么都没人写?我还不会写脚本~!
- oneleaf
- 论坛管理员
- 帖子: 10448
- 注册时间: 2005-03-27 0:06
- 系统: Ubuntu 12.04
Re: [三星]写一个脚本,统计当前网络对内和对外连接的流量,并按照对外流量排序
只要有联网就有进出流量,是一样的。早起看月亮 写了:这任务得先有一台linux服务器才能做吧,我只有本子做不起来
-
- 帖子: 34
- 注册时间: 2008-01-01 22:26
Re: [三星]写一个脚本,统计当前网络对内和对外连接的流量,并按照对外流量排序
脚本:
根据需要修改抓包数量,我设置成100,
cat traffic.sh
#!/bin/bash
ipaddr=`ifconfig $1 | egrep -o "\b[0-9]{1,3}(\.[0-9]{1,3}){3}\b" | head -n 1`
while :
do
tcpdump -tnnv -c 100 src host $ipaddr -i $1 | awk -F ',' '{print $7}' | awk -F "\:" '{print $0}'| tr -d ')>' | awk '{print $2,$4}' | egrep -o "\b[0-9]{1,4} [0-9]{1,3}(\.[0-9]{1,3}){3}\b" | sort -k 2 | awk '{arr[$2]+=$1} END {for (i in arr) {print i,arr}}' | sort -n -k 2 -r
done
运行:
sudo bash
./traffic.sh eth0
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
100 packets captured
101 packets received by filter
0 packets dropped by kernel
x.x.x.245 11877
x.x.x..106 2135
x.x.x.106 2061
x.x.x.18 1574
x.x.x.118 756
根据需要修改抓包数量,我设置成100,
cat traffic.sh
#!/bin/bash
ipaddr=`ifconfig $1 | egrep -o "\b[0-9]{1,3}(\.[0-9]{1,3}){3}\b" | head -n 1`
while :
do
tcpdump -tnnv -c 100 src host $ipaddr -i $1 | awk -F ',' '{print $7}' | awk -F "\:" '{print $0}'| tr -d ')>' | awk '{print $2,$4}' | egrep -o "\b[0-9]{1,4} [0-9]{1,3}(\.[0-9]{1,3}){3}\b" | sort -k 2 | awk '{arr[$2]+=$1} END {for (i in arr) {print i,arr}}' | sort -n -k 2 -r
done
运行:
sudo bash
./traffic.sh eth0
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
100 packets captured
101 packets received by filter
0 packets dropped by kernel
x.x.x.245 11877
x.x.x..106 2135
x.x.x.106 2061
x.x.x.18 1574
x.x.x.118 756
- wlzyan
- 帖子: 504
- 注册时间: 2008-08-16 15:09
- 来自: 没有海一样的胸怀,哪能有海一样的事业.
-
- 帖子: 5
- 注册时间: 2010-10-05 10:31
- bearboy
- 帖子: 14
- 注册时间: 2010-10-10 22:27
- crazyyujie
- 帖子: 159
- 注册时间: 2010-04-07 17:49
- 联系:
Re: [三星]写一个脚本,统计当前网络对内和对外连接的流量,并按照对外流量排序
学习,我还不会网络那块
dwwwlf 写了:脚本:
根据需要修改抓包数量,我设置成100,
cat traffic.sh
#!/bin/bash
ipaddr=`ifconfig $1 | egrep -o "\b[0-9]{1,3}(\.[0-9]{1,3}){3}\b" | head -n 1`
while :
do
tcpdump -tnnv -c 100 src host $ipaddr -i $1 | awk -F ',' '{print $7}' | awk -F "\:" '{print $0}'| tr -d ')>' | awk '{print $2,$4}' | egrep -o "\b[0-9]{1,4} [0-9]{1,3}(\.[0-9]{1,3}){3}\b" | sort -k 2 | awk '{arr[$2]+=$1} END {for (i in arr) {print i,arr}}' | sort -n -k 2 -r
done
运行:
sudo bash
./traffic.sh eth0
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
100 packets captured
101 packets received by filter
0 packets dropped by kernel
x.x.x.245 11877
x.x.x..106 2135
x.x.x.106 2061
x.x.x.18 1574
x.x.x.118 756
-
- 帖子: 2
- 注册时间: 2012-10-26 8:21
- 系统: linux
Re: [三星]写一个脚本,统计当前网络对内和对外连接的流量,并按照对外流量排序
在linux中 是什么都可以用脚本写出来的吗?