移植应用Wireless Tools

2023-11-16

前提条件

下载源码

点击前往下载
或者使用以下命令

wget -c https://hewlettpackard.github.io/wireless-tools/wireless_tools.29.tar.gz

打个补丁

复制以下补丁内容,保存名为wireless_tools-29-fix_iwlist_scanning-1.patch

diff -Naur wireless_tools.29.orig/iwlist.c wireless_tools.29/iwlist.c
--- wireless_tools.29.orig/iwlist.c	2007-06-30 01:11:09.000000000 +0000
+++ wireless_tools.29/iwlist.c	2016-09-03 17:51:56.703353035 +0000
@@ -799,7 +799,7 @@
 	  if(iw_get_ext(skfd, ifname, SIOCGIWSCAN, &wrq) < 0)
 	    {
 	      /* Check if buffer was too small (WE-17 only) */
-	      if((errno == E2BIG) && (range.we_version_compiled > 16))
+	      if((errno == E2BIG) && (range.we_version_compiled > 16) && (buflen < 65535))
 		{
 		  /* Some driver may return very large scan results, either
 		   * because there are many cells, or because they have many
@@ -815,6 +815,9 @@
 		  else
 		    buflen *= 2;
 
+                  if(buflen > 65535)
+                    buflen = 65535;
+
 		  /* Try again */
 		  goto realloc;
 		}

解压缩源码

#解压缩
tar -xvf wireless_tools.29.tar.gz
#进入源码目录
cd wireless_tools.29

打补丁

patch -Np1 -i ../wireless_tools-29-fix_iwlist_scanning-1.patch

编译安装

替换
CC=你的编译工具
AR=你的编译工具
RANLIB=你的编译工具
PREFIX=你要安装的目录
INSTALL_MAN=你要安装的目录
PS:当安装目录/usr/local等普通用户没有写入权限的情况下,需切换为root用户进行执行安装命令

#编译
make CC=/home/aron566/opt/arm-2014.05/bin/arm-none-linux-gnueabi-gcc AR=/home/aron566/opt/arm-2014.05/bin/arm-none-linux-gnueabi-ar RANLIB=/home/aron566/opt/arm-2014.05/bin/arm-none-linux-gnueabi-ranlib
#安装
make PREFIX=/home/aron566/Downloads/wifi/wireless_tools_INSTALL INSTALL_MAN=/home/aron566/Downloads/wifi/wireless_tools_man install

使用方法

参考博客
在这里插入图片描述

#1. 扫描可用的无线网络:ifconfig可以看到wifi-name也就是wifi网卡名
iwlist wifi-name scanning
#2. 扫描附近无线网络信息,ESSID项的值即为无线网络的名字。如果值为空,说明在无线路由勾选了隐藏ESSID的选项
iwlist wifi-name scanning
#3. 设置要连接的网络类型
iwpriv wifi-name setNetworkType=Infra
#4. 设置要连接的无线网络的安全模式
iwpriv wifi-name setAuthMode=WPA2PSK
#5. 设置网络加密方式:(CCMP即为AES)
iwpriv wifi-name setEncrypType=TKIP
#6. 设置连接时的密码: 12345678为加密网络的密码
iwpriv wifi-name setWPAPSK=12345678
#7. 连接该网络:有两种方式:
#第一种iwpriv命令
iwpriv wifi-name setSSID=juwei
#第二种用iwconfig命令
iwconfig wifi-name essid juwei
#如果密码正确,就可以连接上网络juwei了。如果你不放心,可以用命令查看状态
iwpriv wifi-name connStatus

大致流程

#加载wifi网卡驱动
insmod   rt3070sta.ko

ifconfig ra0 up     启用无线网卡,至于为什么是ra0,因为我的使用手册上是这样做的

此时cat /proc/wireless   可以看到多了一个ra0

iwlist scanning 可以搜索到可用的网络  iwlist ra0 scanning  (只搜索ra0的无线网络)

iwpriv ra0 set SSID="name"无线网络配置  name是搜到的一个网络的名字。假如不要密码这样就行了。

iwpriv ra0 set WPAPSK="A3DDD"  输入登陆密码

iwconfig ra0 key open       打开密码   输入密码后 一定要加这条命令哦,不然连接不上

ifconfig ra0 192.168.1.109 netmask 255.255.255.0为无线网卡指定IP地址

设置网关   route add default gw 192.168.1.1

之后我在ubantu上ping 192.168.1.109 成功。这些命令就是所谓的工具。

在超级终端ping 外网成功。

各种密码的命令参数,这在iwpriv_usage.txt里面可以查到。

无密码:

iwpriv ra0 set SSID="Vodafone D100"

注意:在切换到无密码的用户时,若之前是有密码用户,则要iwconfig ra0 key off。

WPA型密码:

网上说若路由器的加密方式是wpa的话要移植wpa_supplicant工具,我没有这样做,还是可以。

iwpriv ra0 set NetworkType=Infra       网络类型有Infra,Adhoc两种,前者是基于AP的,后者是p2p

iwpriv ra0 set AuthMode=WPAPSK                OPEN,SHARED,WEPAUTO,WPAPSK,WPA2PSK,WPANONE

iwpriv ra0 set EncrypType=TKIP                NONE,WEP,TKIP,AES

iwpriv ra0 set SSID="Vodafone D100"

iwpriv ra0 set WPAPSK="1234567890"

WEP型密码:

iwpriv ra0 set NetworkType=Infra

iwpriv ra0 set AuthMode=OPEN

iwpriv ra0 set EncrypType=WEP

iwpriv ra0 set DefaultKeyID=1

iwpriv ra0 set Key1="1234567890"

iwpriv ra0 set SSID="Vodafone D100"

切换用户登陆:

直接重新输入登陆名字和输入密码的命令,值得注意的是在切换有密码和没有密码的用户时要相应的iwconfig ra0 key open和iwconfig ra0 key off。

常见问题

网上说若路由器的加密方式是wpa的话要移植wpa_supplicant工具http://blog.csdn.net/jimmy_1986/archive/2010/09/09/5872536.aspx

错误信息

PING 192.168.1.1 (192.168.1.1): 56 data bytes

ping: sendto: Network is unreachable

此原因是没有设置ip ifconfig ra0 192.168.1.109 up 解决。

ping 219.134.65.113 外网

ping: sendto: Network is unreachable

此原因是没有设置网关 route add default gw 192.168.1.1 解决。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

移植应用Wireless Tools 的相关文章

  • 亚马逊 Linux - 安装 openjdk-debuginfo?

    我试图使用jstack在 ec2 实例上amazon linux 所以我安装了openjdk devel包裹 sudo yum install java 1 7 0 openjdk devel x86 64 但是 jstack 引发了异常j
  • 由于 abi::cxx11 符号导致的链接问题?

    我们最近收到一份报告 因为GCC 5 1 libstdc 和双 ABI http gcc gnu org onlinedocs libstdc manual using dual abi html 它似乎Clang 不知道 GCC 内联名称
  • 如何指定配置脚本的包含目录

    我的工作场所有一个 Linux 系统 其中包含相当旧的软件包 并且没有 root 访问权限 我正在从源代码编译我需要的包 prefix somewhere in homedir 我的问题是我只是不知道如何说服配置在特定目录中查找头文件 源码
  • Java时区混乱

    我正在运行 Tomcat 应用程序 并且需要显示一些时间值 不幸的是 时间快到了 还有一个小时的休息时间 我调查了一下 发现我的默认时区被设置为 sun util calendar ZoneInfo id GMT 08 00 offset
  • 在 vimrc 中切换匹配

    我的 vimrc 文件中有以下几行 hi ExtraWhitespace cterm NONE ctermbg green ctermfg green guibg green guifg green match ExtraWhitespac
  • 命名互斥体的 Mono 替代方案

    在 Windows NET 上 命名的互斥体可用于同步多个进程 不幸的是 Mono 在 Linux 上不太支持这一点 他们的发行说明 http www mono project com Release Notes Mono 2 8 Shar
  • 如何在 Linux 中向热敏打印机发送 ESC/POS 命令

    我正在尝试在热敏打印机上发送 ESC POS 命令 但每当我发送它们时 热敏打印机都会将它们打印为文本 而不是作为命令执行它们 我在 prn 文件中编写这些命令 每当我执行 lp 命令来打印文件时 这些 prn 文件也会被打印 但作为文本
  • 我可以在 Ubuntu 上使用 Homebrew 吗?

    我只是尝试使用 Homebrew 和 Linuxbrew 在我的 Ubuntu 服务器上安装软件包 但都失败了 这就是我尝试安装它们的方法 sudo apt get install build essential curl git m4 r
  • 用于 e NetworkManager VPN 连接的 dbus 信号处理程序

    我需要开发一些在建立 VPN 连接时执行的 python 代码 VPN 由 NetworkManager 控制 我试图弄清楚如何为此使用 NM DBUS 事件 使用 dbus monitor system 我能够识别连接信号 signal
  • 在 Linux 服务器上创建和编辑 MS-Word 文档?

    希望开发处理文档的服务器端应用程序 源文档大多是MS Word 2003 2007 即MS版本的Docx 希望服务器应用程序能够在linux或windows上运行 想知道在linux下读写MS Word文件最好的工具或库是什么 兼容性是最重
  • Linux 上的“软/硬 nofile”是什么意思

    当我尝试在RedHat EL5上安装软件时 我得到了错误 软 硬nofile的期望值是4096 而默认值是1024 我设法增加了这个数字 但我不知道参数是什么 他们指的是软链接和硬链接吗 我改变的方法是 a 修改 etc security
  • gpg:抱歉,根本没有请求终端 - 无法获取输入

    解密时出现以下错误 eyaml decrypt s ENC and the key goes on here gnupg quiet no secmem warning no permission warning no tty yes de
  • 重新链接匿名(未链接但打开)文件

    在 Unix 中 可以创建匿名文件的句柄 例如 使用 creat 创建并打开它 然后使用 unlink 删除目录链接 留下一个带有 inode 和存储的文件 但没有可能的方法重新打开它 此类文件通常用作临时文件 通常这就是 tmpfile
  • 为什么我的代码在编译用于分析 (-pg) 时在多线程下运行比在单线程下运行慢?

    我正在写一个光线追踪器 最近 我在程序中添加了线程 以利用 i5 四核上的附加内核 奇怪的是 应用程序的调试版本现在运行速度变慢 但优化后的构建运行速度比添加线程之前更快 我将 g pg 标志传递给 gcc 以进行调试构建 并将 O3 标志
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • php56 - CentOS - Remi 仓库

    我刚刚在测试盒上安装了 php 5 6 正常的 cli php 解释器似乎不存在 gt php v bash php command not found gt php56 v PHP 5 6 13 cli built Sep 3 2015
  • %config(noreplace) 文件上出现意外的 RPM 冲突

    我正在创建我自己的RPM using rpmbuild My RPM 包含配置文件哪个应该永远不会被覆盖 即使 RPM 包含这些配置文件的新版本 为了存档这个 我用以下标签标记了它们 config noreplace opt mypacka
  • VSCODE 在 Linux 上不适用于我

    刚刚了解 VSCODE 很高兴尝试一下 我下载 解压并运行可执行文件 我得到 Code 2183 0429 201254 ERROR browser main loop cc 170 Running without the SUID san
  • 如何获取 bash 中从 Ping 接收到的数据包的百分比?

    当 ping 主机时 我希望输出仅显示收到的数据包 已发送 5 个 的百分比 我想我需要使用grep不知怎的 但我不知道如何 我是 bash 编程的新手 这是我所在的地方 ping c 5 q host grep grep 中应该包含什么
  • 将 bash 脚本作为守护进程运行

    我有一个脚本 它每 X 次运行我的 PHP 脚本 bin bash while true do usr bin php f my script php echo Waiting sleep 3 done 我怎样才能将它作为守护进程启动 要从

随机推荐

  • COBOL

    一 COBOL简介 COBOL Common Business Oriented Language 面向过程的高级程序设计语言 二 COBOL语法格式 COBOL程序的每行代码通常分为80列 有非标准的80列可以超过80列 写多少列都可以
  • 【1】python爬虫入门,利用bs4以及requests获取静态网页

    注 本文仅适用于爬虫初级入门者 并不涉及太多技术本质 感谢您阅读此文 最近放假在家 闲时无聊 开始入门了python爬虫 可以完成一些基本的数据爬取 对于一些反爬取例如JS渲染 接口加密等页面仍然处于学习之中 本文就是简单总结最近已熟练掌握
  • PHP实现 美化 打赏点 金额 换算

    方法 function PointConversion je jenum strlen je echo substr je 0 1 万 if jenum 5 jv1 substr je 0 1 jv2 je 1 str jv2 0 jv1
  • mysql workbench使用存储过程

    MySQL 使用存储过程 先来了解一下什么是mysql的存储过程 Mysql存储过程是一个可编程的函数 它在数据库中创建并保存 它可以有SQL语句和一些特殊的控制结构组成 当希望在不同的应用程序或平台上执行相同的函数 或者封装特定功能时 存
  • 4.1.5-检查网页内容是否存在信息泄露

    检查网页内容是否存在信息泄露 ID WSTG INFO 05 总结 程序员在他们的源代码中包含详细的注释和元数据是很常见的 甚至建议这样做 但是 HTML 代码中包含的注释和元数据可能会泄露潜在攻击者不应获得的内部信息 应进行注释和元数据审
  • 颠覆行业

    2023年8月21日 一场盛大的签约仪式在拓世科技集团AI数字人全国营运中心隆重举行 拓世科技集团与湖南谋事科技有限责任公司 下称湖南谋事传奇 正式达成战略合作 共同开启数字人短视频项目合作与招商运营的新篇章 此次签约仪式 吸引了众多业界瞩
  • 【华为OD统一考试B卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • StyleGAN系列学习笔记

    StyleGAN可以无监督地分离高级属性 例如 姿态 身份 和生成图像中的随机变化 例如 雀斑 头发 控制图像不同层次的视觉特征 StyleGAN v1 Figure 1 传统生成器 vs Style based生成器 给定输入latent
  • Linux深度学习训练笔记

    首先要拥有Linux服务器一台 云服务器或者本地服务器均可 Linux系统上需要安装好cuda与cudnn 查看cuda或者显卡信息 nvidia smi 安装好Anaconda 下一步 配置conda环境 conda create n 环
  • 通过加载ip_nat_pptp模块使iptables支持PPTP穿透

    http blog 163 com kuang yl blog static 16287406201302264231535 通过加载ip nat pptp模块使iptables支持PPTP穿透 之前为了做L7filter的测试 在公司里找
  • 初识c语言

    1 数据类型 char 1字节 short 2字节 int 4字节 long 4字节 long long 8字节 float 4字节 double 8字节 2 编译器默认一个小数为double类型 3 局部变量 在 内定义的变量 全局变量
  • 远程连接MySQL报错ERROR 2003解决办法

    转自 http www 111cn net database mysql 48040 htm 问题代码代码 ERROR 2003 HY000 Can t connect to MySQL server on 192 168 0 19 111
  • C++继承详解

    文章目录 前言 一 继承的概念和定义 1 继承的概念 2 继承的定义 二 继承方式和访问限定符 三 基类和派生类对象赋值转换 四 继承中的作用域 五 派生类的默认成员函数规则 六 菱形继承 七 继承小总结 前言 在现实生活中我们会遇到不同身
  • 单向散列函数(Hash)

    http www cnblogs com happyhippy archive 2006 12 23 601368 html 单向散列函数 Hash 0 Hash函数的性质 常用Hash函数 MD5 128bit SHA 1 160bit
  • Windows系统输入法的相关文件

    以下是Windows ime目录下自带的输入法的相关文件列表 全拼 Winpy ime Winpy mb Winpy hlp Winpy cnt 双拼 Winsp ime Winsp mb Winsp hlp Winsp cnt 微拼 Pi
  • 云计算中的海量数据存储在哪_云计算中的块级数据存储如何工作

    云计算中的海量数据存储在哪 Cloud computing and IT demands are directly proportional to each other To deliver consistency with securit
  • MySQL-分库分表详解(二)

    作者 小刘在C站 个人主页 小刘主页 努力不一定有回报 但一定会有收获加油 一起努力 共赴美好人生 学习两年总结出的运维经验 以及思科模拟器全套网络实验教程 专栏 云计算技术 小刘私信可以随便问 只要会绝不吝啬 感谢CSDN让你我相遇 前言
  • WSL2 安装 Arch Linux 子系统

    WSL 介绍与安装 Windows Subsystem for Linux 以下简称为 WSL 允许开发人员直接在Windows上运行GNU Linux环境 包括大多数命令行工具 实用程序和应用程序 无需修改 无需传统虚拟机或双引导设置的开
  • 数据结构和算法(堆排序和哈夫曼树、哈夫曼编码、解码)

    堆排序 一般使用大顶堆升序排列 使用小顶堆降序排列 下图为代码测试的树 数组格式 堆降序代码实现 import java util Arrays public class HeapSort public static void main S
  • 移植应用Wireless Tools

    移植应用Wireless Tools 前提条件 下载源码 打个补丁 解压缩源码 打补丁 编译安装 使用方法 大致流程 常见问题 前提条件 下载源码 点击前往下载 或者使用以下命令 wget c https hewlettpackard gi