Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用libpcap测量上传/下载速率

使用libpcap测量上传/下载速率
EN

Stack Overflow用户
提问于 2011-01-14 16:04:09
回答 3查看 1.2K关注 0票数 1

我在一个C应用程序中使用libpcap (在Windows上使用winpcap )来监控网络流量。我需要区分每个网络适配器上的上传和下载流量,以生成连接速度统计数据,但库使用的过滤器表达式似乎不太容易支持这一点(即没有“传入”/“传出”运算符)。

我考虑过的一种方法是查询每个适配器的IP地址,然后使用src host 1.2.3.4 (用于测量上载)和dst host 1.2.3.4 (用于测量下载)之类的过滤器。

我的问题是:

有没有比上面的更好/更简单的方法(可以让我对每个适配器使用相同的过滤器表达式的方法就更好了)?

如果采用上述方法,那么单个适配器是否有可能具有多个与其关联的IP地址?我这样问的原因是,保存单个适配器(在struct pcap_if中)的地址细节的pcap_addr结构有一个'next‘成员,这表明这是可能的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-01-14 16:35:51

首先,请记住,pcap只能看到数据包。它看不到“传出”或“传入”--仅仅是数据包。因此,是的,您必须在ip报头中使用src/dst进行过滤。没有其他方法可以判断数据包是传入的还是传出的。

其次,是的,没有什么可以阻止具有多个IP地址的适配器。因此,您需要从该适配器获取配置的IP地址。pcap_findalldevs() (WinPCap文档)在这里应该会对您有所帮助,您应该能够从中推断出您想要监视哪些设备。

票数 2
EN

Stack Overflow用户

发布于 2011-01-14 16:11:39

你有没有考虑过看一下pmacct --我个人在过去的一段时间里为此做出了贡献。这是一个C工具,它使用libpcap被动地监视网络流量以进行记帐。

票数 1
EN

Stack Overflow用户

发布于 2011-01-14 16:09:48

试试tcpdump

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4693034

复制
相关文章
巧用x-cos-traffic-limit header来限制上传下载速率
腾讯云COS产品,本身是按照流量计费的对象存储,默认并不限制带宽。而在某些场景下,如共享或带宽有限的网络中,希望能够限制上传和下载的速率进行限制,以便将剩余带宽资源用于其他应用。这个时候,我们是可以通过x-cos-traffic-limit属性来限制上传和下载的速率的。下面就来实践一下。
wainsun
2020/10/21
1.5K0
巧用x-cos-traffic-limit header来限制上传下载速率
巧用x-cos-traffic-limit header来限制上传下载速率
腾讯云COS产品,本身是按照流量计费的对象存储,默认并不限制带宽。而在某些场景下,如共享或带宽有限的网络中,希望能够限制上传和下载的速率进行限制,以便将剩余带宽资源用于其他应用。这个时候,我们是可以通过x-cos-traffic-limit属性来限制上传和下载的速率的。下面就来实践一下。
wainsun
2020/03/03
2.1K0
巧用x-cos-traffic-limit header来限制上传下载速率
如何限制 Nginx下载速率?
默认情况下你的服务器有多少网络带宽(上行),Nginx就能消耗掉多少,来者不拒。
用户1560186
2019/12/04
8.2K0
libpcap试玩
libpcap驱动了tcpdump,和wireshark这类抓包工具.提供了高度灵活的包过滤语言. 据wikipedia,高性能的包过滤最早是在bsd上作为一个问题被解决,被称为bpf,在内核实现了一个解释器,进行包匹配,用户态提供一个字符设备, linux作为后来者,支持与bsd基本相同的packet filter,称为lpf,不同的是,linux是通过在一个raw socket来支持包过滤的,通过setsockopt来SO_ATTACH_FILTER,挂载过滤器. strace 可知,libpcap实际上进行了如下syscall:
byronhe
2021/06/25
7180
@@Docker初步使用,上传到下载2023.8.8
搞了几天的docker,3本书、网络文章,还要靠GPT4的辅导整理了上传到下载的全流程。
用户7138673
2023/08/16
1840
@@Docker初步使用,上传到下载2023.8.8
使用webclient上传下载实例
转载:http://blog.csdn.net/kevonz/article/details/5078432
跟着阿笨一起玩NET
2018/09/19
1K0
rabbitmq使用basicQos控制速率
默认情况下,RabbitMq收到消息后,就向消费者全部推送。但是如果rabbitmq队列里消息过多,且消息的数量超过了消费者处理能力, 就会导致客户端超负荷崩溃。此时我们可以通过 prefetchCount 限制每个消费者在收到下一个确认回执前一次可以最大接受多少条消息。即如果设置prefetchCount =1,RabbitMQ向这个消费者发送一个消息后,再这个消息的消费者对这个消息进行ack之前,RabbitMQ不会向这个消费者发送新的消息
静心物语313
2021/12/06
2.3K0
rabbitmq使用basicQos控制速率
如何上传网站,FTP软件下载使用帮助
极少情况下,由于本地环境配置特殊,上面的软件能连接,但是显示"列表错误"的信息,可以使用xftp软件进行上传。
alay998
2020/10/03
1.4K0
Linux使用sz、rz命令下载、上传文件
远程连接Linux服务器进行操作时总会需要上传、下载文件。要实现这个目的,既可以通过FTP的方式,也可以在本地终端使用scp命令。但如果是使用Xshell等工具操作服务器的话,最简单的方法就是其自带支持的sz、rz命令了。
Cloudox
2021/11/23
12.3K0
Linux使用sz、rz命令下载、上传文件
Libpcap PACKET_MMAP内存分配
libpcap为了提高效率,调用setsockopt(handle->fd, SOL_PACKET, PACKET_RX_RING,(void *) &req, sizeof(req))时采用kmalloc分配内存。 可以参考: https://www.kernel.org/doc/Documentation/networking/packet_mmap.txt kmalloc底层依赖linux的slab内存分配机制,在2.6.22内核之后,slub取代slab成为默认的内存分配器。空间和时间上都有所提升。
happy123.me
2018/06/04
1.4K0
LAMP Linux路由和Libpcap配置
1、Ubuntu安装:sda会覆盖MBR,选择这个,sda1会导致找不到系统 2、配置路由 在/etc/rc.local 开机时候自动加载 sudo iptables -F  //清除所有规则 sudo iptables -P INPUT ACCEPT sudo iptables -P FORWARD ACCEPT sudo iptables -t nat POSTROUTING -o eth1 -j MASQUERADE 具体内容忘记了 eth1 为 wan口网卡
星哥玩云
2022/06/30
4.2K0
.net mvc + layui做图片上传(二)—— 使用流上传和下载图片
摘要:上篇文章写到一种上传图片的方法,其中提到那种方法的局限性,就是上传的文件只能保存在本项目目录下,在其他目录中访问不到该文件。这与浏览器的安全性机制有关,浏览器不允许用户用任意的路径访问服务器上的资源,因为这可能造成服务器上其他位置的信息被泄露。浏览器只允许用户用相对路径直接访问本项目路径下的资源。那么,如果A项目要访问B项目上传的文件资源,这就产生问题了。所以这就需要另外一种方法来解决这个问题,那就是通过 流(Stream)的形式上传和下载文件资源。这种方法因为不是通过路径直接访问文件,而是先把文件读取的流中,然后将流中的数据写入到新的文件中,还原需要上传的文件,所以也就不存在上面的问题了。本片博客,着重介绍一下这种方式的实现。
CherishTheYouth
2019/07/30
2.1K0
.net mvc + layui做图片上传(二)—— 使用流上传和下载图片
使用Jsch进行安全的文件上传及下载
本文介绍在Java中如何使用基于SSH的文件传输协议(SFTP)将文件从本地上传到远程服务器,或者将文件在两个服务器之间安全的传输。我们先来了解一下这几个协议
字母哥博客
2020/10/23
2.9K0
使用ethtool排查网卡速率问题
今天去现场帮一个客户排查备份网络速率问题。 用户期望是万兆的速率,但实际上目前只有千兆,因为目前上面运行着数据库,且数据量较大,千兆的备份网络速率不能满足用户备份数据库的时长要求。
Alfred Zhao
2023/05/02
2.1K0
securecrt中使用上传下载sftp
SecureCRT这个工具自带了一个FTP,方便我们上传和下载,而且做的比较人性化,由于其基本命令和linux中基本命令大都相似,熟悉LINUX人能很容易上手。          当我们用SecureCRT连接上一台主机时,点击该工具的上 “文件”,在其下拉列表中选中“连接SFTP标签页”,结果就出现sftp>,这样我们就连接上了FTP,就可以利用该FTP进行上传和下载了。
Dlimeng
2023/06/28
1.2K0
securecrt中使用上传下载sftp
文件上传和下载
进行javaWeb项目的开发,文件上传和下载还是被比较普遍的使用到一种技术,之前都是使用专用的文件服务器进行文件的存储,今天要介绍的是基于mongodb数据库进行文件的存储。
码农王同学
2020/03/25
1.1K0
Vue文件上传、下载
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/148649.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/04
4960
使用python上传和下载文件到Fast
3. 新建测试文件test_fdfs.py,把下载解压后安装包的.../FastDFS/conf/client.conf文件复制到/etc/fdfs下:
py3study
2020/01/09
1.3K0
使用 Go 语言完成 HTTP 文件上传与下载
最近我使用 Go 语言完成了一个正式的 web 应用,有一些方面的问题在使用 Go 开发 web 应用过程中比较重要。过去,我将 web 开发作为一项职业并且把使用不同的语言和范式开发 web 应用作为一项爱好,因此对于 web 开发领域有一些心得体会。 总的来说,我喜欢使用 Go 语言进行 web 开发,尽管开始一段时间需要去适应它。Go 语言有一些坑,但是正如本篇文章中所要讨论的文件上传与下载,Go 语言的标准库与内置函数,使得开发是种愉快的体验。 在接下来的几篇文章中,我将重点讨论我在 Go 中编写生
李海彬
2018/03/19
4.4K0
点击加载更多

相似问题

是否可以使用libpcap测量数据包速率?

11

Android中的上传和下载速率分析

21

测量网络上的下载/上传数据

11

实时测量语音速率

118

iPhone中的测量上传和下载速度

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文