LinuxSir.Org  
| 网站首页 | 注册账号 | 论坛帮助 |

欢迎来到LinuxSir.Org!
您还未登录,请登录后查看论坛,或者点击论坛上方的注册链接注册新账号。


发表新主题 回复
精华主题  
主题工具
旧 04-01-08, 13:45 第 1 帖
float
 
float 的头像
 
 
注册会员  
  注册日期: Apr 2003
  我的住址: 广州
  帖子: 766
  精华: 1
 

标题: 有没有这个的程序?


记录一段时间来,比如上一个月,总共从网络接收到的数据量,如果没有形成的程序,那么用shell编一个容易吗?大侠们能够给个思路?
  float 当前离线   回复时引用此帖
旧 04-01-08, 14:08 第 2 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

tcpdump
  KornLee 当前离线   回复时引用此帖
旧 04-01-08, 22:43 第 3 帖
cx6445
 
 
 
注册会员  
  注册日期: Feb 2003
  帖子: 414
  精华: 0
 

楼主去查一下iptables的man吧,tcpdump在这里并不适合。
  cx6445 当前离线   回复时引用此帖
旧 04-01-08, 23:47 第 4 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

引用:
最初由 cx6445 发表
楼主去查一下iptables的man吧,tcpdump在这里并不适合。
哦,对,用tcpdump设置在cron服务里,我想应该可以的吧~~,我没试过
  KornLee 当前离线   回复时引用此帖
旧 04-01-09, 01:10 第 5 帖
Snoopy
 
Snoopy 的头像
 
 
★☆★版主☆★☆  
  注册日期: Jan 2003
  我的住址: Linux Pet
  帖子: 7,264
  精华: 18
 

tcpdump如何得到数据流量(你说的数据量是不是数据流量)?

好象是没办法的







__________________
And then in the evening light, when the bars of freedom fall
I watch the two of you in the shadows on the wall
How in the darkness steals some of the choices from my hand
Then will I begin to under
  Snoopy 当前离线   回复时引用此帖
旧 04-01-09, 13:41 第 6 帖
float
 
float 的头像
 
 
注册会员  
  注册日期: Apr 2003
  我的住址: 广州
  帖子: 766
  精华: 1
 

主要是下个学期校园网要限制流量,一个月下载的数据量是有限制的,出了这个数,就要交额外的钱。
  float 当前离线   回复时引用此帖
旧 04-01-09, 15:25 第 7 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

引用:
最初由 pinksnoopy 发表
tcpdump如何得到数据流量(你说的数据量是不是数据流量)?

好象是没办法的
linux下的网络工具都很强大,仔细看看tcpdump的man page,他详细记录了每次数据输入/输出的数据流量,可以使用将每次下载的数据量根据tcpdump的时间加以分析,
  KornLee 当前离线   回复时引用此帖
旧 04-01-09, 19:37 第 8 帖
cx6445
 
 
 
注册会员  
  注册日期: Feb 2003
  帖子: 414
  精华: 0
 

javalee兄,tcpdump并不是专门用来检测流量的,虽然它详细记录了每次数据输入/输出的数据流量,但是用tcpdump记录流量占用的系统资源是难以想象的。一个100兆满负荷运作的网关用tcpdump来记录的所有进出网关的流量而产生的文本文件,一个月会有多少?1年呢?就算有那么大的空间,但用脚本来分析这些数据会相当的不方便。
  cx6445 当前离线   回复时引用此帖
旧 04-01-09, 19:50 第 9 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

引用:
最初由 cx6445 发表
javalee兄,tcpdump并不是专门用来检测流量的,虽然它详细记录了每次数据输入/输出的数据流量,但是用tcpdump记录流量占用的系统资源是难以想象的。一个100兆满负荷运作的网关用tcpdump来记录的所有进出网关的流量而产生的文本文件,一个月会有多少?1年呢?就算有那么大的空间,但用脚本来分析这些数据会相当的不方便。
哦,...那就得到网上找个专门的工具
  KornLee 当前离线   回复时引用此帖
旧 04-01-10, 01:04 第 10 帖
lanb
 
lanb 的头像
 
 
注册会员  
  注册日期: Feb 2003
  我的住址: Duluth/MN/USA
  帖子: 2,308
  精华: 1
 

tcpdump很强大的说!







__________________
I am from China...A beautiful country...
  lanb 当前离线   回复时引用此帖
旧 04-01-10, 01:34 第 11 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

引用:
最初由 lanb 发表
tcpdump很强大的说!
lanb说得没错,,,可惜很少有人去挖掘他的潜力!
  KornLee 当前离线   回复时引用此帖
旧 04-01-10, 10:53 第 12 帖
lanb
 
lanb 的头像
 
 
注册会员  
  注册日期: Feb 2003
  我的住址: Duluth/MN/USA
  帖子: 2,308
  精华: 1
 

其实tcpdump可以用来做很多事情地!如果你相crack,这个也可以,想监视,也可以....
  lanb 当前离线   回复时引用此帖
旧 04-01-10, 11:08 第 13 帖
cx6445
 
 
 
注册会员  
  注册日期: Feb 2003
  帖子: 414
  精华: 0
 

C很强大,连操作系统都可以写,但是在企业大型应用中为什么现在java越来越热,不是C写不出来相反的是C写出来的程序执行效率更高,但是C并不合适,因为java跨平台性和开发周期短,开发难度低。
tcpdump是用来分析一定时间(短时间,一般不超过几天)网络流量的组成,一般用来排除网络故障、也可用来嗅探,但用来统计网络流量无论从性能和简便性来说都很勉强。
linux内核本身就支持网络流量统计,通过iptables可以轻松完成从网段->IP->端口各种形式的流量统计,完全可以满足楼主的需求。

此帖于 04-01-10 11:12 被 cx6445 编辑.
  cx6445 当前离线   回复时引用此帖
旧 04-01-10, 11:18 第 14 帖
home
 
 
 
已封禁  
  注册日期: Nov 2003
  帖子: 1,150
  精华: 5
 

请楼上的SHOW一下。。。
  home 当前离线   回复时引用此帖
旧 04-01-10, 11:59 第 15 帖
cx6445
 
 
 
注册会员  
  注册日期: Feb 2003
  帖子: 414
  精华: 0
 

代码:
pop:~# iptables -L r0 -v -n Chain r0 (1 references) pkts bytes target prot opt in out source destination 13662 601K DROP all -- * * 61.153.3.7 0.0.0.0/0 146 7564 DROP all -- * * 61.50.176.0/20 0.0.0.0/0 190 9120 DROP all -- * * 61.62.80.0/20 0.0.0.0/0 716 34804 DROP all -- * * 61.141.224.0/20 0.0.0.0/0 81 4368 DROP all -- * * 61.177.32.0/20 0.0.0.0/0 822 40484 DROP all -- * * 202.107.192.0/20 0.0.0.0/0 2887 150K DROP all -- * * 210.51.0.0/16 0.0.0.0/0 1897 91152 DROP all -- * * 211.97.176.0/20 0.0.0.0/0 3237 155K DROP all -- * * 218.61.0.0/16 0.0.0.0/0 246 11832 DROP all -- * * 218.5.160.0/20 0.0.0.0/0 12954 637K DROP all -- * * 218.17.0.0/16 0.0.0.0/0 22044 1105K DROP all -- * * 218.18.0.0/16 0.0.0.0/0 4658 232K DROP all -- * * 218.20.0.0/16 0.0.0.0/0 98 4800 DROP all -- * * 218.58.96.0/20 0.0.0.0/0 265 13712 DROP all -- * * 218.79.224.0/20 0.0.0.0/0 1838 90812 DROP all -- * * 218.80.0.0/16 0.0.0.0/0 130 6240 DROP all -- * * 218.246.224.0/20 0.0.0.0/0 6 384 DROP all -- * * 218.6.0.0/20 0.0.0.0/0 439 21072 DROP all -- * * 219.137.64.0/20 0.0.0.0/0 1369 65920 DROP all -- * * 219.233.0.0/16 0.0.0.0/0 3948 192K DROP all -- * * 219.237.0.0/16 0.0.0.0/0 563 27168 DROP all -- * * 220.113.160.0/20 0.0.0.0/0 264 12672 DROP all -- * * 221.10.208.0/20 0.0.0.0/0
这是一些网段的drop,只要改为accept就能实现流量的统计。至于统计ip还是端口的流量大家就自由发挥了,写个几百条总能满足需要的。然后结合脚本进行界面更改,简化操作就比较完善了。
代码:
[root@gateway root]# showquota error: time parameter error! example: showquota {number} [root@gateway root]# showquota 1 wxy quota: 573079855 bytes zc quota: 570164706 bytes yj quota: 566660319 bytes wh quota: 464174942 bytes yh quota: 497620615 bytes dhf quota: 582565272 bytes zxl quota: 591052139 bytes lhf quota: 541141789 bytes xmj quota: 572473650 bytes yz quota: 584613165 bytes sh quota: 583436152 bytes tk quota: 587226497 bytes lz quota: 0 bytes djr quota: 599981001 bytes fmd quota: 588132717 bytes tyl quota: 595405020 bytes ws quota: 105356325 bytes zqy quota: 567967421 bytes fw quota: 600000000 bytes shl quota: 596977562 bytes 192.168.17.0/24 Please press ^c quit....
这里的quota功能是较新版的iptables所带有的,界面经过我略微加工了一下。showquota:
代码:
[root@gateway root]# cat /usr/sbin/showquota #!/bin/bash if [ $# != "1" ];then echo "error: time parameter error!"; echo "example: showquota {number}"; exit; fi while true;do clear iptables -L QUOTA | awk '{ print $5"\t"$6" "$7" "$8}' | sed -e '1,2d' echo "" echo "" echo -n "Please press ^c quit...." sleep $1 done [root@gateway root]# cat monitor #!/bin/bash if [ $# != "1" ];then echo "error: time parameter error!"; echo "example: monitor {number}"; exit; fi iptables -Z FORWARD while true;do clear iptables -L FORWARD -v | sed -e '1d' | awk '{print $1"\t"$2"\t"$8"\t\t"$9}' echo "" echo "" echo -n "Please press ^c quit...." iptables -Z FORWARD sleep $1 done
monitor是我为了方便监视每个客户端流量而写的,每个ip在hosts文件中都有对应的名字。写得都很简单,如果大家有兴趣可以完善一下。
  cx6445 当前离线   回复时引用此帖
发表新主题 回复


主题工具

发帖规则
您 [不可以] 发表新主题
您 [不可以] 回复主题
您 [不可以] 上传附件
您 [不可以] 编辑您的帖子

已 [启用] BB 代码
已 [启用] 表情符号
已 [启用] IMG 代码
已 [禁用] HTML 代码
[论坛跳转…]


所有时间均为[北京时间]。现在的时间是 12:26


Powered by vBulletin 版本 3.6.8
版权所有 ©2000 - 2010, Jelsoft Enterprises Ltd.
官方中文技术支持: vBulletin 中文
版权所有 ©2002 - 2009, LinuxSir.Org