利用ioctl()获取无线速率

其实对于自己装了网卡驱动的来说,应该从最根本的驱动中获取速率。

但是用ioctl()也可以,其实实现和iwconfig命令相同。

 

仅仅获取速率这部分:

 

 

[cpp] view plain copy

 

  1. #include <stdio.h>  
  2. #include <stdlib.h>  
  3. #include <sys/socket.h>  
  4. #include <string.h>  
  5. #include "wireless_copy.h"  
  6. #define dvname "ath0"  
  7. int get_rate(int sock, struct iwreq* wrq,__s32 rate);  
  8. int main()  
  9. {  
  10.     struct iwreq wrq;  
  11.     int sock;  
  12.     char gInterfaceName[16];  
  13.     __s32 rate;  
  14.     memset(gInterfaceName, 0, sizeof(gInterfaceName));  
  15.     strcat(gInterfaceName,dvname);  
  16.     sock = socket(AF_INET, SOCK_DGRAM, 0);  
  17.         if (sock < 0)  
  18.         {  
  19.             printf("Error Creating Socket for ioctl/n");  
  20.             return 0;  
  21.         }  
  22.     memset(&wrq, 0, sizeof(wrq));  
  23.     strncpy(wrq.ifr_name, gInterfaceName, IFNAMSIZ);  
  24.     get_rate(sock, &wrq,rate);  
  25.     printf("/nrate:%dM/n/n",wrq.u.bitrate.value/1000000);  
  26.     return 0;  
  27. }  
  28. int get_rate(int sock, struct iwreq* wrq,__s32 rate)  
  29. {  
  30.     if(ioctl(sock, SIOCGIWRATE, wrq) < 0)  
  31.     {  
  32.         perror("Ioctl error");  
  33.         return(0);  
  34.     }  
  35.     return 1;  
  36. }  

 

 

其中wireless_copy.h可以从madwifi /tools 文件夹中找到。

时间: 2024-10-22 05:18:42

利用ioctl()获取无线速率的相关文章

用ioctl获取无线网络信息 /usr//include/linux/wireless.h

1.UNIX Network Programming环境搭建 Unix NetWork Programming――环境搭建(解决unp.h等源码编译问题) http://blog.csdn.net/a649518776/article/details/6724121 注:按照连接操作即可,编译要加 -lunp  选项 2.用户态和核心态的交换方式 在 linux下,要实现核心态和用户态数据的交互,有多种方式:可以通用socket创建特殊套接字,利用套接字实现数据交互:通过proc文件系统创建文

ASP.NET利用webclient获取页面源代码的解决方

asp.net|client|web|解决|页面|源代码 页面中包括DataGrid时,利用webclient获取页面源代码的解决方    主要问题,利用webclent获取页面源代码时,当页面中含有datagrid,并且该控件使用了自带的分页功能时,正常的方法只能获取第一页面的数据,其它页面的数据取不到,以下是解决方法. 方法一: 主要思路是利用webclient,post数据到服务来取得数据,这里主要用了一个小工具可以分析页面的组成及运行过程,分析中发现当点击下一页时,会Post三个参数过去

Java中如何利用Selenium获取元素分析网页内容

本文首先探讨了编写 Selenium 脚本时的两种最简单.常用的截图方法,接着重点介绍了在难以利用普通截图方法获取到截图时,如何利用 Selenium 获取到的元素分析网页内容,进而绘制出所需要的图像的方法. 翻译验证测试 (Translation Verification Test) 是全球化测试的重要组成部分.在翻译验证测试准备阶段,翻译验证测试技术支持人员经常需要截取大量的图片给各个国家的测试人员.为了节省时间,实现自动化截图已是大势所趋.一般情况下,我们直接使用 Selenium 的 g

sql 变量-利用js获取页面用户输入字符串,作为变量进行CQL语句查询

问题描述 利用js获取页面用户输入字符串,作为变量进行CQL语句查询 我用js编写了一个,从页面获取了用户输入的两个字符串,一个作为键,一个作为值,想在js中利用CQL语句进行select * from 表名 where [键名]=值,这样的查询.查询出所有符合条件的查询结果.但是,变量怎样写都不对,换成固定的属性和值,语句就可以运行,求各位大神帮忙!!!! 解决方案 注意变量拼接,不要放到sql语句里面 var field="abc",value="xx" var

jsonp-如何利用jsoup获取百度词条的浏览次数数字

问题描述 如何利用jsoup获取百度词条的浏览次数数字 利用jsoup抓取数据后,查看浏览次数显示为空,打开html源代码,浏览次数后面对应的数字为空 解决方案 http://baike.baidu.com/api/lemmapv?id=427d0d5ae554d5c9075bccdb&r=1436104393922 id,是数据中返回"你好"的主键,r 是时间戳:

Android利用反射获取状态栏(StatusBar)高度

MainActivity如下: package cc.teststatusbarheight; import java.lang.reflect.Field; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.app.Activity; import android.co

ubuntu-linux系统利用libudev获取USB设备的VID和PID?请各位大侠帮一忙,谢谢!

问题描述 linux系统利用libudev获取USB设备的VID和PID?请各位大侠帮一忙,谢谢! 我在Ubuntu14.04终端下lsusb可以看到识别到的USB设备,但是Unable to find parent usb device.我的设备会虚拟出串口,如ttyUSB0,ttyUSB1,ttyUSB2,我想知道如何获取该设备的VID和PID,通过网上找的代码,不知道如何修改以下两个函数的相关参数? udev_enumerate_add_match_subsystem(enumerate,

利用jquery获取checkbox描述文本

要利用jquery获取checkbox的文本描述,用下面语句就可以了. $("#knowfrom").find("input[type='checkbox']:checked").siblings().text(); 实例二 <td><input id= name="knowfrom" type="checkbox" value="" /> <label>tv</l

利用webBrowser获取框架内Html页面内容

原文:利用webBrowser获取框架内Html页面内容 利用webBrowser获取页面比较简单,MSDN下有示例,在这里不必多说. 可是一些 HTML 文档由"框架"构成,或可以存放它们自己独特 HTML 文档的窗口.使用框架可以轻松地创建 HTML 页面,其中一页或多页在其他框架持续更改它们内容的同时保持静态,例如导航栏. HTML 作者可以采用以下两种方法之一创建框架: 使用 FRAMESET 和 FRAME 标记,创建固定窗口. - 或 - 使用 IFRAME 标记,创建可以