自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

转载 动态链接库中函数的地址确定---PLT和GOT

源博客封了,转载备份下前面写过动态链接库 延迟绑定的一篇博文,那篇文章我非常喜欢,但是当时刚搞清楚,自己写的比较凌乱,我最近学习了Ulrich Drepper的How to write share library,学习了几篇其他的讲述动态链接的文章,再次整理了这篇文章。     有一个问题是我们调用了动态链接库里面的函数,我们怎么知道动态链接库里面的函数的地址呢?事实上,直到我们第一次...

2018-09-26 14:46:16 1323

原创 普通socket和链路层socket的数据流向

这里画了个上行的图,下行类似

2018-04-25 15:38:04 690

原创 wifi 连接psk方式流程抓包

PSK 即是ap的密码,密码不足64位,则使用密码加ssid然后hash算出64字节的PSKPMK使用PSK前32字节,256bit。Anonce是ap的随机数, Snonce是sta的随机数,各32字节。PTK = PMK + MAC(AP)+无线网卡MAC(STA)+AP产生的随即值(ANonce)+wifi产生的随机值(SNonce)+登陆密码(pairewise),SHA256和MD5算法...

2018-04-19 11:34:11 4355

原创 uboot到kernel启动过程中内存布局变化、初始化

内核编译(make)之后会生成两个文件,一个是Image,一个是zImage,其中Image为内核映像文件,而zImage为内核的一种映像压缩文件。uImage是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0x40之后与zImage没什么区别。uImage的64字节的头结构如下 */typedef stru...

2018-04-18 11:26:15 3018

原创 以太网头与80211头部的相互转换

头部转换主要流程如下,起始那个snap header在我的驱动中直接是固定的值,有些是几种,具体有什么用一直不太了解,主要说明下mac headers。80211头部如何解析需要关注DS段的值,根据值来解析地址。其中转换后的wlan头中的addr2不一定就是以太网数据头的源mac,如下举个例子网络组网方式usb连接电脑后,电脑发送数据到sta1那么电脑端的802.3 header应该是这样到达wl...

2018-04-17 10:40:38 2059

原创 Linux省电相关idle和suspend

suspend流程借用其他图和链接,比较详细了http://www.wowotech.net/linux_kenrel/suspend_and_resume.html我这边记录下wakelock的相关接口和suspend过程中的frozenthread实现原理,还有部分idle流程。wakelock内核和应用使用的相关接口static inline void wake_lock(struct w...

2018-04-03 10:18:13 1066

原创 软中断、线程调度时机

Linux内核中softirq、tasklet、线程的调度时机softirq、tasklet    tasklet是通过softirq执行的,所以归为一类,不过softirq可以在多个核上同时执行,tasklet只能在一个核上运行。softirq通常会在中断执行结束后判断然后来处理,除了这里外还有一个线程run_ksoftirqd    kthread_create_on_node(run_kso...

2018-04-03 09:47:15 1813

原创 wifi作为station的连接ap的代码简要流程

wpa_supplicant源程序可以看到两个主要的可执行工具:wpa_supplicant和wpa_cli。wpa_supplicant是核心程序,它和wpa_cli的关系就是服务和客户端的关系:后台运行wpa_supplicant,使用wpa_cli来搜索、设置、和连接网络。以Realtek的wext接口为例。wpa_client下行创建socket通过ioctrl控制wifi行为,上行wif...

2018-04-02 15:20:12 3684

原创 Linux内核panic到ramdump基本流程

Linux内核空指针访问异常大致流程插一下arm系统模式切换说明/*arm处理有很多模式,寄存器也有各个模式下专用和通用的寄存器当从用户态等切入异常模式的时候,cpsr会发生切换,pc指针强制指向对应异常向量地址。汇编代码vector_\name处理时会从异常模式切到svc模式,不然一些寄存器不是通用的,回不去。vector_\name:    .if \correction    s...

2018-03-30 14:46:12 2662

原创 Linux内核路由器模式 内网ip的nat转换实现流程

nat表需要的三个链:  1.PREROUTING:可以在这里定义进行目的NAT的规则,因为路由器进行路由时只检查数据包的目的ip地址,所以为了使数据包得以正确路由,我们必须在路由之前就进行目的NAT;  2.POSTROUTING:可以在这里定义进行源NAT的规则,系统在决定了数据包的路由以后在执行该链中的规则。  3.OUTPUT:定义对本地产生的数据包的目的NAT规则。需要用到的几个动作选项...

2018-03-29 09:46:54 2429

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除