[三星]写一个脚本,统计当前网络对内和对外连接的流量,并按照对外流量排序

除了美化之外,还可以来尝试挑战一下任务
回复
头像
oneleaf
论坛管理员
帖子: 10441
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04

[三星]写一个脚本,统计当前网络对内和对外连接的流量,并按照对外流量排序

#1

帖子 oneleaf » 2009-12-07 13:42

1 任务内容: 写一个脚本,统计当前网络对内和对外连接的流量,并按照对外流量排序,将使用不同端口的相同IP汇总为一个。

2 任务的难度: 三星

3 任务的目的: 学习linux下的网络命令和数据统计

4 任务所涉及的软件: tcpdump

5 任务将大致消耗的时间: 1~2天

6 参考网站: 无
头像
早起看月亮
帖子: 61
注册时间: 2008-06-27 20:51

Re: [三星]写一个脚本,统计当前网络对内和对外连接的流量,并按照对外流量排序

#2

帖子 早起看月亮 » 2009-12-13 12:07

这任务得先有一台linux服务器才能做吧,我只有本子做不起来
头像
k-usher
帖子: 74
注册时间: 2009-10-15 15:16
联系:

Re: [三星]写一个脚本,统计当前网络对内和对外连接的流量,并按照对外流量排序

#3

帖子 k-usher » 2009-12-13 22:38

怎么都没人写?我还不会写脚本~!
头像
oneleaf
论坛管理员
帖子: 10441
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04

Re: [三星]写一个脚本,统计当前网络对内和对外连接的流量,并按照对外流量排序

#4

帖子 oneleaf » 2009-12-13 22:53

早起看月亮 写了:这任务得先有一台linux服务器才能做吧,我只有本子做不起来
只要有联网就有进出流量,是一样的。
dwwwlf
帖子: 34
注册时间: 2008-01-01 22:26

Re: [三星]写一个脚本,统计当前网络对内和对外连接的流量,并按照对外流量排序

#5

帖子 dwwwlf » 2010-04-07 15:52

脚本:
根据需要修改抓包数量,我设置成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
来自: 没有海一样的胸怀,哪能有海一样的事业.

Re: [三星]写一个脚本,统计当前网络对内和对外连接的流量,并按照对外流量排序

#6

帖子 wlzyan » 2010-04-07 15:59

暂时还是满天星~ :em06
头像
bearboy
帖子: 14
注册时间: 2010-10-10 22:27

Re: [三星]写一个脚本,统计当前网络对内和对外连接的流量,并按照对外流量排序

#8

帖子 bearboy » 2010-10-12 20:40

:em01
我是菜鸟,过来求取真经的。
俱往矣,
数风流人物,还看今朝。
头像
crazyyujie
帖子: 159
注册时间: 2010-04-07 17:49
联系:

Re: [三星]写一个脚本,统计当前网络对内和对外连接的流量,并按照对外流量排序

#9

帖子 crazyyujie » 2011-06-14 22:57

学习,我还不会网络那块 :em06
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
cheongkinpui
帖子: 2
注册时间: 2012-10-26 8:21
系统: linux

Re: [三星]写一个脚本,统计当前网络对内和对外连接的流量,并按照对外流量排序

#10

帖子 cheongkinpui » 2013-01-07 9:30

在linux中 是什么都可以用脚本写出来的吗?
回复