<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jzzjsy的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/jzzjsy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jzzjsy]]></copyright><item><title><![CDATA[IEEE802.11协议栈]]></title><link>https://blog.youkuaiyun.com/jzzjsy/article/details/143745166</link><guid>https://blog.youkuaiyun.com/jzzjsy/article/details/143745166</guid><author>jzzjsy</author><pubDate>Wed, 13 Nov 2024 15:52:59 +0800</pubDate><description><![CDATA[mac80211：是一个Linux内核子系统，是驱动开发者可用于为SoftMAC无线设备写驱动的框架。mac80211在内核空间实现STA模式，在用户空间实现AP模式（hostapd）。cfg80211：用于对无线设备进行配置管理，与FullMAC，mac80211和nl80211一起工作。nl80211：用于对无线设备进行配置管理，它是一个基本Netlink的用户态协议。]]></description><category></category></item><item><title><![CDATA[802.11 Tx Rate Control]]></title><link>https://blog.youkuaiyun.com/jzzjsy/article/details/143744904</link><guid>https://blog.youkuaiyun.com/jzzjsy/article/details/143744904</guid><author>jzzjsy</author><pubDate>Wed, 13 Nov 2024 15:47:41 +0800</pubDate><description><![CDATA[如果用两个空口抓包器在AP旁边和STA旁边同时抓包，会更有助于分析一些问题的root cause，比如到底是Tx信号质量不好导致对端没有收到本端发送的packet，还是Rx性能不好导致本端没有收到对端发送的ACK。在一定距离内，不同的AP，如果使用同一个802.11 channel，那么它们各自的BSS会相互干扰（而且没有解决的办法）。实际应用到产品中的RCA都是采用Tx端决定速率的算法，即Tx端与Rx端不会进行速率协商，而是Tx端根据历史信息自行评估信道质量或发送成功率并决定下一段时间的Tx速率。]]></description><category></category></item><item><title><![CDATA[开发调试指令大全--（realtek开发调试命令）]]></title><link>https://blog.youkuaiyun.com/jzzjsy/article/details/135289323</link><guid>https://blog.youkuaiyun.com/jzzjsy/article/details/135289323</guid><author>jzzjsy</author><pubDate>Fri, 29 Dec 2023 13:53:26 +0800</pubDate><description><![CDATA[使用位域变量，1 – 802.11b, 2 –802.11g，这个mib在配置为802.11g only和802.11n only模式的时候很有用，因为控制帧和管理帧需要使用802.11b，因此设置802.11g only其实还是需要打开协议栈的80.2.11b模式，此时同时把deny_legacy设置为1，不让802.11b模式的设备连接，这样就完成了模式802.11g only的设置；后面那条命令为设置具体的国家码，2个字符，比如CN就表示中国，US表示美国。]]></description><category></category></item><item><title><![CDATA[hostapd源代码分析（三）：管理帧的收发和处理]]></title><link>https://blog.youkuaiyun.com/jzzjsy/article/details/131677541</link><guid>https://blog.youkuaiyun.com/jzzjsy/article/details/131677541</guid><author>jzzjsy</author><pubDate>Wed, 12 Jul 2023 11:16:08 +0800</pubDate><description><![CDATA[802.11的管理帧主要有信标帧(beacon)、探测请求帧（probe request)、探测回应帧（probe response）、请求认证帧（authentication request）、认证回应帧（authentication response）、请求关联帧（association request）和关联回应帧（association response）等。接下来，继续调用ieee802_11_mgmt（位于src/ap/ieee80211.c），根据具体的帧来执行相应的操作。]]></description><category></category></item><item><title><![CDATA[hostapd源代码分析（二）：hostapd的工作机制]]></title><link>https://blog.youkuaiyun.com/jzzjsy/article/details/131677060</link><guid>https://blog.youkuaiyun.com/jzzjsy/article/details/131677060</guid><author>jzzjsy</author><pubDate>Wed, 12 Jul 2023 11:02:05 +0800</pubDate><description><![CDATA[一开始我觉得hostapd是以多线程的方式来异步处理各个事件的，但其实hostapd从头到尾都是单一线程——是的，我们的hostapd是移植到的MIPS的嵌入式系统上面（我们用的是RouterStation Pro），这么多的线程在嵌入式Linux上面是不现实的。其实，hostapd是通过socket来接受其他模块发来的消息的，并通过select()或者poll()系统调用来轮询各个socket的描述符，一旦发现众多socket描述符中有可用的描述符时，便调用相应的回调函数来处理相关事件。]]></description><category></category></item><item><title><![CDATA[hostapd源代码分析（一）：网络接口和BSS的初始化]]></title><link>https://blog.youkuaiyun.com/jzzjsy/article/details/131676220</link><guid>https://blog.youkuaiyun.com/jzzjsy/article/details/131676220</guid><author>jzzjsy</author><pubDate>Wed, 12 Jul 2023 10:36:13 +0800</pubDate><description><![CDATA[由于笔者分析的hostapd 是基于nl80211 的，所以hapd_init 指向nl80211 的初始化函数i802_init（定义在src/drivers/nl80211_driver.c 中，本文只分析hostapd 在用户空间的工作原理，至于内核空间是如何工作的，不在本文讨论之列。最近在做一个基于OpenFlow 协议的无线AP 的项目，于是就分析了hostapd 的源代码，并在原有的基础上添加上我们的代码。OK，到这里，网络接口和每个BSS 的基本初始化（即为它们分配内存）的工作结束了。]]></description><category></category></item><item><title><![CDATA[WPA 4次握手]]></title><link>https://blog.youkuaiyun.com/jzzjsy/article/details/113062024</link><guid>https://blog.youkuaiyun.com/jzzjsy/article/details/113062024</guid><author>jzzjsy</author><pubDate>Sat, 23 Jan 2021 20:55:42 +0800</pubDate><description><![CDATA[一、why EALOP 4-way handshake
 为了解决无线传输不安全，需要对无线连接的接入进行控制，并实现帧传播的加解密。
 WPA 4-way handshake有点相当于一个“安全”地协商“交换”秘钥的过程。

 这个秘钥就是PTK（PairwiseTransient Key）,成对传输秘钥。

二、WPA 4-way handshake过程

1.一个简单的4-way handshake图



图1 4-wayshake overview

以WPA/WPA...]]></description><category></category></item><item><title><![CDATA[关于WPA/WPA2 4次握手]]></title><link>https://blog.youkuaiyun.com/jzzjsy/article/details/113058841</link><guid>https://blog.youkuaiyun.com/jzzjsy/article/details/113058841</guid><author>jzzjsy</author><pubDate>Sat, 23 Jan 2021 17:30:18 +0800</pubDate><description><![CDATA[关于WPA/WPA2 4次握手

简单描述一下WPA/WPA2的4次握手中的一些关键词：

　　WPA/WPA2使用4次握手的方式来产生所需要的密钥。四次握手通过一系列的交互，从PMK（Pairwise Master Key）生成PTK（Pairwise Transient Key）。PMK来自MSK（Master Session Key），是MSK的前256位，32字节。

　　PTK包含3个部分，KCK（KeyConfirmationKey），KEK（Key EncryptionKey），TK（T...]]></description><category></category></item><item><title><![CDATA[802.11ax前瞻7：BSS Coloring技术]]></title><link>https://blog.youkuaiyun.com/jzzjsy/article/details/107371855</link><guid>https://blog.youkuaiyun.com/jzzjsy/article/details/107371855</guid><author>jzzjsy</author><pubDate>Wed, 15 Jul 2020 22:27:18 +0800</pubDate><description><![CDATA[序言
笔者在学习802.11ax过程中，发现有一些英文blog的内容总结还是不错的，所以笔者简单翻译一下，大家可以学习一下。

本文参考自：
What Is BSS Coloring In 802.11ax?
What is BSS Color in 802.11ax?
How Does BSS Coloring Work in 802.11ax?

BSS Coloring技术介绍
BSS Coloring是最初在802.11ah中引入的一种机制，用于为每个BSS分配不同的“颜色”。z该技术目的是增加在密]]></description><category></category></item><item><title><![CDATA[关于Linux内核网络架构书籍收集]]></title><link>https://blog.youkuaiyun.com/jzzjsy/article/details/50523929</link><guid>https://blog.youkuaiyun.com/jzzjsy/article/details/50523929</guid><author>jzzjsy</author><pubDate>Fri, 15 Jan 2016 15:22:18 +0800</pubDate><description><![CDATA[understanding_linux_network_internals.pdf
Linux Networking Architecture  中文版]]></description><category></category></item><item><title><![CDATA[徐家俊：华为十年]]></title><link>https://blog.youkuaiyun.com/jzzjsy/article/details/45888001</link><guid>https://blog.youkuaiyun.com/jzzjsy/article/details/45888001</guid><author>jzzjsy</author><pubDate>Thu, 21 May 2015 10:08:01 +0800</pubDate><description><![CDATA[懵懵懂懂到华为

　　上周，我正式提交了离职报告，准备给自己的职业生涯一个很大的转折，这是我长时间的思考最后所做的决定。但真的提出离职后，回想在公司的十年，还是百感交集。

　　1997年7月16日，我只身提着一个包从深圳宝安机场下飞机，走出机场，天是那么蓝，白云那么低，空气那么潮，仰头望天，对这个城市，对公司，对即将开展的工作和生活，对自己的前途一片茫然。

　　到了科技园，发现是个]]></description><category></category></item><item><title><![CDATA[PACKET_MMAP实现原理分析]]></title><link>https://blog.youkuaiyun.com/jzzjsy/article/details/45146191</link><guid>https://blog.youkuaiyun.com/jzzjsy/article/details/45146191</guid><author>jzzjsy</author><pubDate>Mon, 20 Apr 2015 09:21:29 +0800</pubDate><description><![CDATA[这个是接tcpdump的源码分析的
转载地址http://blog.chinaunix.net/uid-20357359-id-1963684.html
在上一篇文章中，已经提到了在libpcap-1.0.0中已经增加了部分平台的PACKET_MMAP支持，就一直想写一篇关于PACKET_MMAP实现的文章。




PACKET_MMAP实现的代码都在net/packet/af_p]]></description><category></category></item><item><title><![CDATA[Linux网络编程：原始套接字的魔力【续】]]></title><link>https://blog.youkuaiyun.com/jzzjsy/article/details/45146171</link><guid>https://blog.youkuaiyun.com/jzzjsy/article/details/45146171</guid><author>jzzjsy</author><pubDate>Mon, 20 Apr 2015 09:19:28 +0800</pubDate><description><![CDATA[转载至http://blog.chinaunix.net/uid-23069658-id-3293289.html
如何从链路层直接发送数据帧
       本来以为这部分都弄完了，结果有朋友反映说看了半天还是没看到如何从链路层直接发送数据。因为上一篇里面提到的是从链路层“收发”数据，结果只“收”完，忘了“发”，实在抱歉，所以就有这篇续出来了。
       上一节我们主要研究了如何从链路层]]></description><category></category></item><item><title><![CDATA[Linux网络编程：原始套接字的魔力【下】]]></title><link>https://blog.youkuaiyun.com/jzzjsy/article/details/45146159</link><guid>https://blog.youkuaiyun.com/jzzjsy/article/details/45146159</guid><author>jzzjsy</author><pubDate>Mon, 20 Apr 2015 09:19:13 +0800</pubDate><description><![CDATA[可以接收链路层MAC帧的原始套接字
       前面我们介绍过了通过原始套接字socket(AF_INET, SOCK_RAW, protocol)我们可以直接实现自行构造整个IP报文，然后对其收发。提醒一点，在用这种方式构造原始IP报文时，第三个参数protocol不能用IPPROTO_IP，这样会让系统疑惑，不知道该用什么协议来伺候你了。
       今天我们介绍原始套接字的另一种用法]]></description><category></category></item><item><title><![CDATA[Linux网络编程：原始套接字的魔力【上】]]></title><link>https://blog.youkuaiyun.com/jzzjsy/article/details/45146147</link><guid>https://blog.youkuaiyun.com/jzzjsy/article/details/45146147</guid><author>jzzjsy</author><pubDate>Mon, 20 Apr 2015 09:16:57 +0800</pubDate><description><![CDATA[基于原始套接字编程
       在开发面向连接的TCP和面向无连接的UDP程序时，我们所关心的核心问题在于数据收发层面，数据的传输特性由TCP或UDP来保证：

       也就是说，对于TCP或UDP的程序开发，焦点在Data字段，我们没法直接对TCP或UDP头部字段进行赤裸裸的修改，当然还有IP头。换句话说，我们对它们头部操作的空间非常受限，只能使用它们已经开放给我们的诸如源、目的I]]></description><category></category></item><item><title><![CDATA[tcpdump源码分析]]></title><link>https://blog.youkuaiyun.com/jzzjsy/article/details/45111631</link><guid>https://blog.youkuaiyun.com/jzzjsy/article/details/45111631</guid><author>jzzjsy</author><pubDate>Sat, 18 Apr 2015 11:20:48 +0800</pubDate><description><![CDATA[linux环境下libpcap 源代码分析
 
韩大卫@吉林师范大学
 
 
libpcap 源代码官方下载地址：
git clonehttps://github.com/the-tcpdump-group/libpcap.git
 
tcpdumpm源代码官方下载地址：
git clone git://bpf.tcpdump.org/tcpdump
 
tcpdump.c使]]></description><category></category></item><item><title><![CDATA[H264 GOP 扫盲]]></title><link>https://blog.youkuaiyun.com/jzzjsy/article/details/44055467</link><guid>https://blog.youkuaiyun.com/jzzjsy/article/details/44055467</guid><author>jzzjsy</author><pubDate>Wed, 04 Mar 2015 08:52:37 +0800</pubDate><description><![CDATA[GOP说白了就是两个I帧之间的间隔.比较说GOP为120,如果是720p60的话,那就是2s一次I帧.

以下为转载.

转载地址:http://blog.youkuaiyun.com/perfectpdl/article/details/8451577



　　本文 来自 csdn ucser http://blog.youkuaiyun.com/perfectpdl,
 转载注明出处，谢谢。
]]></description><category></category></item><item><title><![CDATA[区分/dev/tty、/dev/console、/dev/pts、/dev/ttyn]]></title><link>https://blog.youkuaiyun.com/jzzjsy/article/details/43017029</link><guid>https://blog.youkuaiyun.com/jzzjsy/article/details/43017029</guid><author>jzzjsy</author><pubDate>Thu, 22 Jan 2015 11:31:40 +0800</pubDate><description><![CDATA[通常我们在linux下看到的控制台(console)是由几个设备完成的。分别是/dev/ttyN（其中tty0就是/dev /console，tty1，tty2就是不同的虚拟终端（virtual console））.通常使用热键alt+Fn来在这些虚拟终端之间进行切换。所有的这些tty设备都是由linux/drivers/char
 /console.c和vt.c对应。

/dev/pts是]]></description><category></category></item><item><title><![CDATA[sbull虚拟的磁盘驱动的编写]]></title><link>https://blog.youkuaiyun.com/jzzjsy/article/details/43015637</link><guid>https://blog.youkuaiyun.com/jzzjsy/article/details/43015637</guid><author>jzzjsy</author><pubDate>Thu, 22 Jan 2015 10:08:18 +0800</pubDate><description><![CDATA[原理指导：我们通过vmalloc在内存中开辟一部分空间，作为一个虚拟的磁盘，然后我们以块设备的方式来访问这片内存，例如这个sbull模型。

sbull（Simple Block Utility for Loading Localities），该驱动程序实现了一个使用系统内存的块设备，从本质上讲，属于一种 RAM 磁盘驱动程序。字符设备的IO操作则是直接不绕弯的，块设备的IO操作会配对和整合。]]></description><category></category></item><item><title><![CDATA[IEEE802.11协议基础知识]]></title><link>https://blog.youkuaiyun.com/jzzjsy/article/details/42521479</link><guid>https://blog.youkuaiyun.com/jzzjsy/article/details/42521479</guid><author>jzzjsy</author><pubDate>Thu, 08 Jan 2015 10:47:32 +0800</pubDate><description><![CDATA[1. 802.11管理功能–用户接入过程

      STA (工作站）启动初始化、开始正式使用、AP 传送数据幀之前，要经过三个阶段才能接入:
      (1) 扫描(SCAN) 
      (2) 认证(Authentication) 


      (3) 关联(Association) 




1.1 802.11管理–扫描(SCAN)

      ]]></description><category></category></item></channel></rss>