当前位置: 首页 > wzjs >正文

wordpress图片模板下载抖音seo优化排名

wordpress图片模板下载,抖音seo优化排名,elision豪华级创意企业中文wordpress主题整站,软件开发流程ppt官方框架图 这个框架图展示了hostapd的软件架构和主要组件 简单做个说明: 文档获取路径: https://w1.fi/wpa_supplicant/devel/ 从如上可以梳理个简单流程: 驱动事件上报: 驱动事件 → driver i/f → 相应状态机处理控制流&a…

官方框架图

在这里插入图片描述
这个框架图展示了hostapd的软件架构和主要组件

简单做个说明:
在这里插入图片描述
文档获取路径:

  • https://w1.fi/wpa_supplicant/devel/

从如上可以梳理个简单流程:

  • 驱动事件上报:
    驱动事件 → driver i/f → 相应状态机处理
  • 控制流:
    GUI/cli → ctrl i/f → configuration → 各子系统
  • 数据流:
    无线数据包 → driver i/f → IEEE 802.11 MLME → Station table

讲个题外内容的框架

在这里插入图片描述

源码获取

  • git clone git://w1.fi/hostap.git

安装依赖库

  • sudo apt-get install libnl-3-dev libnl-genl-3-dev
  • sudo apt-get install libssl-dev

编译

  1. 复制默认配置:cp defconfig .config
  2. make
备份原hostapd
  • sudo cp /usr/sbin/hostapd /usr/sbin/hostapd.bak
替换系统hostapd
  • sudo cp hostapd /usr/sbin/

调整日志级别

  • 在 hostapd 配置文件(如 /etc/hostapd/hostapd.conf)中设置

等等

梳理了一下繁琐的函数调用,附带解析

hostapd_global_init()		//初始化eloop这个全局变量eap_server_register_methods()		//注册eap server支持的安全模式,并存放在一个链表里面eloop_init()		//初始化全局变量eloop结构体,初始化 eloop(事件循环),用于处理 socket 事件、定时器、信号等random_init();//对各个事件注册eloop_register_read_sock()eloop_sock_table_add_sock()//将相应的handler和data放进sock_table表中,实现注册hostapd_interface_init()	//读取配置文件井初始化BSS数据,不会启动实际的驱动程序操作。此函数用于解析全接口(一个或多个BSS共享相同的无线电)的配置文件,并为BSS*接口分配内存。不会启动实际的驱动程序操作。hostapd_init()	//分配并初始化每个接口的数据,此函数用于为每个接口分配主要数据结构。config_read_cb()hostapd_config_read() //读取hostapd配置文件hostapd_interface_init_bss() //读取配置文件井初始化BSS数据,不会启动实际的驱动程序操作。这类似于hostapd_interface_init(),但适用于以下情况:配置用于为无线电添加单个BSS,而不是所有BSS。

启用已配置的接口。根据通道配置,这可能会在返回之前完成完全初始化,或者在需要HT co-ex扫描、ACS或DFS等操作来确定通道参数的情况下,使用回调机制完成设置。在这种情况下,接口将从hostapd_global_run()中的eloop上下文启用。

hostapd_driver_init()	//获取配置信息保存在iface[i]中,准备驱动程序的接口hostapd_setup_interface()	//设置一个接口setup_interface()尽早初始化控制接口,以便允许外部监控可能需要相当长时间的通道设置操作,特别是对于DFS情况。start_ctrl_iface()	//初始化ctrl_iface接口,用于和上层用户通信ctrl_iface_init()hostapd_ctrl_iface_init()hostapd_ctrl_iface_path()eloop_register_read_sock()	//监听ctrl_interfacehostapd_ctrl_iface_receive()hostapd_set_country()	//设置WiFi国家码信息setup_interface2()	//将配置信息写入内核hostapd_get_hw_features()	//获取无线网卡硬件支持的功能configured_fixed_chan_to_freq()	//将配置的固定频道号(channel number)转换为对应的频率(MHz) 的辅助函数。它通常在 AP 初始化或配置解析阶段被调用,确保无线接口的信道设置符合硬件支持的范围hostapd_set_oper_chwidth()	//设置无线接口的操作信道宽度hostapd_select_hw_mode()	//根据配置设置硬件模式、通道、速率和被动扫描hostapd_setup_interface_complete()	//完成接口设置,当先前设置步骤完成时,将调用此函数hostapd_setup_interface_complete_sync()	//hostapd_set_current_hw_info()	// 更新并验证当前无线接口的硬件信息hostapd_set_freq()	hostapd_set_rts()hostapd_setup_bss()	//配置每个BSS,此函数用于初始化所有BSS数据结构和资源。当接口初始化时,此函数会循环调用每个BSS。hostapd_if_add()	//在内核中为此BSS 创建一个interfacehostapd_setup_encryption()	//配置无线接口的加密方式和密钥管理hostapd_setup_wpa_psk()	//专门用于 配置 WPA-PSK(预共享密钥)认证hostapd_set_ssid()	//Set SSID for the kernel driverhostapd_bss_radius_init()	//初始化 RADIUS 客户端功能hostapd_acl_init()	//初始化访问控制列表(ACL)hostapd_init_wps()	//初始化 Wi-Fi Protected Setup (WPS) ieee802_1x_init()	//初始化 IEEE 802.1X 认证框架hostapd_setup_wpa()		//初始化 WPA/WPA2/WPA3 安全模块hostapd_drv_set_qos_map() //配置 QoS(服务质量)映射表dhcp_snoop_init()	//初始化 DHCP 监听(DHCP Snooping)功能hostapd_start_beacon()	//启动 Beacon 帧广播ieee802_11_set_beacon()	//wpa_init_keys()	//初始化 WPA/WPA2 密钥管理hostapd_start_beacon()hostapd_tx_queue_params()	//配置无线接口的传输队列hostapd_set_acl()	//动态管理访问控制列表hostapd_driver_commit()	//主要用于将无线访问点(AP)的配置更改提交给底层驱动程序hostapd_init_wps_complete()	//用于处理 WPS 初始化完成后的操作hostapd_set_state()	//用于管理 AP 状态转换的核心函数hostapd_neighbor_set_own_report()	//专门用于处理接入点(AP)的邻居802.11k 报告(Neighbor Report)生成和更新ieee802_11_update_beacons()	//主要用于当 AP 的配置发生变化时需要更新发送的 Beacon 帧内容hostapd_global_ctrl_iface_init()	//负责建立与外部管理实体(如 hostapd_cli、wpa_supplicant 或其他管理工具)通信的基础设施,建立用于管理通信的UNIX域套接字或命名管道hostapd_global_run()	//hostapd 的主事件循环函数,负责处理整个 hostapd 进程的事件调度和消息处理tncs_global_init()	//tncs初始化(Trusted Network Connect),用于初始化可信网络连接(TNC, Trusted Network Connect)子系统的全局初始化函数,属于802.1X认证框架的一部分os_daemonize()	//后台运行eloop_run()eloop_process_pending_signals();//对发生的信号进行处理,会执行eloop_register_signal中注册的信号对应handler函数eloop_sock_table_set_fds();//将表中的socket加入到集合rfds中,socket是在eloop_register_sock中提前注册并绑定handler函数,在hostapd_global_init中eloop_sock_table_set_fds();eloop_sock_table_set_fds();res = select(eloop.max_sock + 1, rfds, wfds, efds,//使用select函数来监听集合中socket的变化eloop_sock_table_dispatch(&eloop.readers, rfds);//执行相应的提前注册的函数,eloop_sock_table_dispatch(&eloop.writers, wfds);eloop_sock_table_dispatch(&eloop.exceptions, efds);

创建AP启动流程

在这里插入图片描述

详细的代码启动流程及详细备注(包含启动函数)

在这里插入图片描述

重要结构体

  1. 管理结构体 struct hostapd_data
    单个BSS的全局上下文,每个AP对应一个实例
    在这里插入图片描述
    结构体太长了,细则需要自行了解
我列举几个重要的
struct hostapd_bss_config *conf;  // BSS配置参数
struct hostapd_config *iconf;     // 接口配置
struct hostapd_iface *iface;      // 所属物理接口
struct sta_info *sta_list;        // 已连接客户端列表
void *drv_priv;                  // 驱动私有数据
  1. 管理结构体:struct hostapd_iface
    管理物理无线接口,可能包含多个虚拟AP(BSS)
    在这里插入图片描述
    重要成员
struct hostapd_data **bss;        // 虚拟AP数组
int num_bss;                     // 虚拟AP数量
struct hapd_interfaces *interfaces; // 全局接口集合
enum hostapd_iface_state state;   // 接口状态
  1. 管理结构体:struct hapd_interfaces
    hostapd全局上下文,管理所有物理接口
    在这里插入图片描述
    重要成员
struct hostapd_iface **iface;     // 物理接口数组
size_t count;                    // 接口数量
char *config_file;               // 配置文件路径
void *global_ctrl_priv;          // 全局控制接口数据
  1. 配置结构体:struct hostapd_config
    存储所有接口级别的配置参数
    在这里插入图片描述
    重要参数
struct hostapd_bss_config **bss;  // 每个BSS的配置
int num_bss;                     // BSS数量
int beacon_int;                  // Beacon间隔(ms)
int rts_threshold;               // RTS阈值
int fragm_threshold;             // 分片阈值
  1. 配置参数结构体:struct hostapd_bss_config
    单个BSS的配置参数
    在这里插入图片描述
    重要成员
char iface[IFNAMSIZ + 1];        // 接口名
char ssid[SSID_MAX_LEN + 1];     // SSID
int ssid_len;                    // SSID长度
int wpa;                         // WPA配置标志
char *ctrl_interface;            // 控制接口路径

给个结构体管理图

在这里插入图片描述

使用一个简单的使用应用层工具来设置ssid说明流程

在这里插入图片描述

hostapd进程是一个内核进程还是应用层进程?

  • hostapd 是一个运行在用户空间(应用层)的守护进程

为什么感觉内容很少?

  • 一下学不了所有内容,都是根据模块和具体的需求去分布了解hostapd内容
  • 所以本篇内容仅仅是以创建ap的方式去跟踪学习

在这里插入图片描述

http://www.dtcms.com/wzjs/396693.html

相关文章:

  • 北京网站备案真实性核验变更常德网站seo
  • 郑州做网站第一人手机百度最新正版下载
  • 汽车网站开发流程新网域名查询
  • 临西网站建设价格今日足球赛事分析推荐
  • 自己怎么制作企业网站seo专员岗位职责
  • 厦门专业网站设计公司单页站好做seo吗
  • 服装类电子商务网站建设报告百度推广一个关键词多少钱
  • 全栈网站开发流程图互联网营销师报名费
  • 东莞市国外网站建设平台秦皇岛seo优化
  • 网站建设网站公司的序汕头网站建设方案外包
  • 网站里面的数据库是怎么做的百度推广联盟
  • 做日用品的要找什么网站澳门seo关键词排名
  • html网页设计代码购物网站免费投放广告的平台
  • 淄博周村网站建设公司建网站用什么软件
  • b2b网站免费推广平台推荐企业网站优化
  • 企业网站需要响应式seo管理工具
  • 网站建设完毕后怎么加后台百度人工客服在线咨询
  • 问题反馈的网站怎么做下载关键词推广软件
  • app安装官方免费下载seo优化服务是什么意思
  • 网站建设企业网站百度快速优化软件排名
  • 做淘宝客网站需要做后台吗中国疫情今天最新消息
  • 代理品牌seo工程师是什么职业
  • 怎么样的网站合适做城市代理百度推广官网入口
  • 陕西网站建设的内容跨境电商营销推广
  • 黑龙江建设网站自己有产品怎么网络销售
  • 合肥整站推广网上如何推广产品
  • 八年级做网站百度提交入口网站
  • 如何介绍一个网站的促销功能网站监测
  • 滑县做网站公司网站流量指标有哪些
  • 温州市手机网站制作淘宝关键词优化怎么弄