wpa_supplicant之eloop_run分析】的更多相关文章

部分内容转自http://blog.chinaunix.net/uid-20273473-id-3128151.html 重要结构体!!! struct eloop_sock { int sock; void *eloop_data; void *user_data; eloop_sock_handler handler; //该handler是一个方法,后续socket有变化,就会调用相应的socket所在的结构体中的handler方法来处理 WPA_TRACE_REF(eloop); WPA…
1. 昨天晚上同事打电话给我说自己的服务器上面的redis无故被清空了,并且查看aof 日志有很多 wget和write指令 一想就是大事不好.局域网中病毒了.. 2. 今天早上到公司忙完一阵简单看了下,就发现了五台机器中病毒. (悲伤无以言表) 3. 现象: CPU暴高, 通过虚拟化控制台就能看到 4. 进入虚拟机简单查看一下. 使用top 就能看到 5. 最简单的查看流程. 先看计划任务 crontab -e 病毒的脚本文件为: exec &>/dev/null export PATH=…
wpa_supplicant软件架构分析 1. 启动命令 wpa supplicant 在启动时,启动命令可以带有很多参数,目前我们的启动命令如下: wpa_supplicant /system/bin/wpa_supplicant -Dwext -ieth0 -c/data/wifi/wpa_supplicant.conf -f/data/wifi/wpa_log.txt wpa_supplicant对于启动命令带的参数,用了两个数据结构来保存, 一个是 wpa_params, 另一个是wpa…
单独拿出来,分析以下上层应用与wpa_supplicant   wpa_supplicant与kernel 的socket交互. 关联上层应用与wpa_supplicant的socket的创建.连接流程分析 [-->./wpa_supplicant/ctrl_iface_unix.c] 1.wpa_supplicant初始化时,在wpa_supplicant_ctrl_iface_init方法中,会通过priv->sock = socket(PF_UNIX, SOCK_DGRAM, 0); 创…
    当我们遇到一个新的程序的时候,经常会无从下手,需要debug一个功能的时候,我们不知道函数的运行流程是怎么样的,这就需要借助工具来帮助我们加快流程了.这里以分析wpa_supplicant为例子.看看gprof是如何帮助我们分析代码的.     这里以虚拟机里面的ubuntu12.04为例,开始debug wpa_supplicant.       编译wpa_supplicant   首先,需要下载wpa_supplicant. http://w1.fi/wpa_supplicant/…
扫描流程 1.如果之前就已经有相关记录,优化扫描,扫描记录部分的频率信道. 2.如果1中的扫描没有结果,清除黑名单中的进行选择. 3.如果2中没有结果,进行所有频率的信道进行扫描 相关log参考: https://www.cnblogs.com/helloworldtoyou/p/9958084.html external\wpa_supplicant_8\wpa_supplicant\src\drivers\driver_nl80211_event.c static void do_proce…
背景 在使用Wpa_supplicant 工具调试Linux的wifi的时候,发现有一些问题.特此记录一下.有些问题是遇到的并已经有了解决方法,一些问题比较发杂,只能作为思路. 问题以及解决办法 1.没有在后台运行的错误 Failed to connect to non-global ctrl_ifname: (nil) error: No such file or directory 解决办法: 让 wpa_supplicant 运行在后台,例如: nohup wpa_supplicant -…
记录wpa_supplicant四次握手的过程. 相关log:https://www.cnblogs.com/helloworldtoyou/p/9633603.html 接收到第一次握手,会设置一个认证超时时间,根据情况,设置成10s或者70s. 四次握手,如果出错,将会等待这个超时时间后,才会判断认证失败.然后从新连接. wpa_supplicant/wpa_supplicant.c void wpa_supplicant_rx_eapol(void *ctx, const u8 *src_…
void wpa_supplicant_req_scan(struct wpa_supplicant *wpa_s, int sec, int usec) { int res; if (wpa_s->p2p_mgmt) { wpa_dbg(wpa_s, MSG_DEBUG, "Ignore scan request (%d.%06d sec) on p2p_mgmt interface", sec, usec); return; } res = eloop_deplete_tim…
(1)通过adb命令行,可以直接打开supplicant,从而运行wpa_cli,可以解决客户没有显示屏而无法操作WIFI的问题,还可以避免UI的问题带到driver.进一步来说,可以用在很多没有键盘输入和LCD输出的安卓终端产品的操作上. wpa_supplicant包含两个主要的可执行工具:wpa_supplicant和wpa_cli.wpa_supplicant是核心程序, 它和wpa_cli的关系就是服务和客户端的关系:后台运行wpa_supplicant,使用wpa_cli来搜索.设置…