网络方面 | 迟思堂工作室

ieee802.11数据radiotap介绍

ieee802.11数据radiotap介绍
之前写有文章介绍了在Linux系统用wireshark或tcpdump抓无线网卡数据包。分析包时发现每一数据帧前面都有一个叫radiotap的东西。它包含了如信号强度、频率等信息。当时没有研究,直接跳过。本文就对此介绍补充。首先介绍radiotap,然后利用radiotap解析库对一段radiotap数据进行解析,获取其中的信息。 介绍 radiotap比传统的Prism或AVS头部更有灵活性,成为是ieee802.11事实上的标准。支持radiotap的系统较...

linux网络子系统研究:数据收发简略流程图

linux网络子系统研究:数据收发简略流程图
Linux网络子系统十分庞大复杂,总想着等自己全部弄明白后再动笔写些笔记,但实在太耗时。后来想通了,先从宏观上掌握大体框图,然后再研究细节。 本文先给出一张自己画的网络数据收发简略流程图,每个路径都可以深入挖掘。其它的,有时间再慢慢写——或许也不会写。 (如图片太长可右键查看) 上图根据linux官方内核3.17.1版本代码浏览、启动跟踪绘制。有一定实践基础。 李迟 2016.11.9 周三 夜

Linux系统无线网络抓包程序(分析手机WIFI MAC地址)

Linux系统无线网络抓包程序(分析手机WIFI MAC地址)
前面讲述了使用tcpdump和wireshark抓WIFI包,但这只是使用工具的层面,再深一层则是自己写代码实现这个功能。本文在前面文章《Linux系统有线网络抓包程序》的基础上添加实现无线网络的抓包功能。 首先要介绍ieee802.11的帧格式,只有知道帧格式才能正确解析对应字段,拿到我们感兴趣的信息。其次介绍Linux raw socket编程抓包。最后解析ieee802.11数据包,从而获取到MAC地址。实际上,从数据包中可以得到很...

Linux使用tcpdump抓获取WIFI包

Linux使用tcpdump抓获取WIFI包
Linux上常用的抓包工具有tcpdump,还有大名鼎鼎的wireshark(图形界面)。它们都可以抓无线网络WIFI包。本文介绍用两者如何在Linux系统中抓包,假设系统已经正确安装无线网卡驱动,并能识别到wlan0设备。 一、802.11数据包 802.11帧有三种,管理帧、控制帧,数据帧。当我们的手机扫瞄周边WIFI热点时,会发现probe请求,它是管理帧的一种。其中包含了手机的MAC地址。更多802.11帧格式,请自行搜索,本文不涉及...

iptables学习笔记:使用NAT实现简单的无线AP

iptables学习笔记:使用NAT实现简单的无线AP
之前使用的是无线路由让手机上网。学习了iptables后,尝试在非openwrt系统的Linux上实现相同功能。本文简单记录一下。 手上有块X86的板子,上面安装了Linux系统。几个月前研究了WIFI并实现了一个无线AP,最近又重新拾起了iptables,于是顺便让这个AP真正实现上网功能。文章《iptables学习笔记:端口转发之“内网访问外网”》的标题有“端口”二字,是因为其应用场合特殊,除了IP地址要转换外,还要指定端口号,...

iptables学习笔记:端口转发之“内网访问外网”

iptables学习笔记:端口转发之“内网访问外网”
我们一般使用路由上网,本机IP是内网私有IP,如192.168.1.100/24,而不是公网IP。至于能上网,是因为路由器已经做了转发。本文以实例介绍地址转换,实现内网设备与外部网络通信。有了前文的介绍,就无须介绍太多原理方面的东西了。 先给出网络拓扑图如下: 服务器左边为“内网”,右边为“外网”。中间为服务器(工作站或网关,如无特别说明,下文提到的“服务器”都指这个服务器),服务器的eth1网卡连接内网的设...

iptables学习笔记:端口转发之“外网访问内网”

iptables学习笔记:端口转发之“外网访问内网”
考虑一种网络拓扑应用情景,一个内部局域网中有多台服务器提供不同的服务,如web服务、FTP服务、ssh、telnet等,通过服务器(或网关、防火墙)连接外部网络,如果外部网络上的主机需要访问这些服务器,则需要在网关上实现转发。 再转述成另一种应用场合,多台设备连接到一台服务器,服务器有2个网卡,分别连接内外网。外网无法直接访问设备上的数据、服务。在服务器上实现转发后,则可达到目的。 网络拓扑如...

iptables学习笔记:端口转发命令的优化

iptables学习笔记:端口转发命令的优化

大约一年前,在一个x86板子系统上实现端口转发。现在又出现问题,于是抽空整理整理。虽说是另一同事在另一项目中遇到的,但中秋节前我出差之前老大叫我帮忙协助该同事排查,出差时该同事又call我,出差后老大又叫我继续协助,所以是我的锅,最终还是逃不掉的。这也使得自己对自己做(过)的事不敢懈怠,天知哪一天又回到自己手中。

一个WIFI热点的脚本思路,顺记shell知识

一个WIFI热点的脚本思路,顺记shell知识
本文主要学习ap-hotspot和create_ap脚本,总结了一下WIFI热点创建脚本的思路,另外记录一些shell学习知识点。 一、Linux环境创建WIFI热点脚本思路 1、参数处理 一个好的脚本,必须要考虑各类参数,就WIFI热点而言,频率、信道、SSID、密码、无线网卡名称、IP地址,等,都是必须要考虑的参数。下面参考create_ap脚本给出示例: -c) shift CHANNEL="$1" shift ...

解决linux系统WIFI无法使用5GHz频率的问题

解决linux系统WIFI无法使用5GHz频率的问题
李迟按: 这篇文章讲述的是在ubuntu14.04系统上使用WIFI功能5GHz频率的问题,问题本身不大,但基于笔者经验和认知,还是走了些弯路,这里记录一下解决过程,写点东西,留点回忆。 一、遇到问题 对于WIFI热点的创建,除了从未知到入门这一大坎外,其它的路途还是很顺利的。上峰要求的WIFI是5GHz,但作为技术要求,我必须要考虑2.4GHz和5GHz。首先在一台Ubuntu14.04系统上测试5GHz频率热点,一切正常。但换到...

Ubuntu14.04系统hostapd编译及使用

Ubuntu14.04系统hostapd编译及使用
本文主要介绍在Ubuntu14.04系统环境中编译hostapd,以及其使用。 我的需求是在linux上创建WIFI热点,最早接触的是ap-hostapd这个脚本,然后参考网络文章安装hostapd以及dnsmasq。对于ap-hostpad的使用,网络已经有大量文章,笔者也就不再写了。不过由于hostapd版本关系,有些功能可能不支持,或者某些功能没有被编译。于是就得自己手动编译hostapd。本文由此而得。 一、编译安装 1、 hostapd官网为:http:/...

[知识整理]Linux系统WIFI知识的一些整理

[知识整理]Linux系统WIFI知识的一些整理
李迟按: 前段时间接触了wifi,主要是在linux系统下做预研、开发。本文根据个人收集资料及研究经验做了一些基本入门级别的引子,旨在对wifi有一个很基础的入门的认知,比如知道wifi模块硬件接口有哪些,了解wifi驱动,等等。如有需要,可以根据文中给出的术语、链接进行扩展的研究学习。 一、硬件接口 就笔者接触的资料,wifi接口有很多种,不同接口适应于不同场合。更多资料,可以直接到某宝上搜索了解。 ...

记一下最近遇到的网络时断时连问题

记一下最近遇到的网络时断时连问题

前段时间搞完openwrt,就接着上级安排的任务:搞新CPU。但对于android我实在是新手,各种目录各种库,简单地拆分内核、文件系统,跑个helloworld程序,都搞了好久。刚刚看了几天,领导拿了一台X86的工控机给我,安排我测试其性能,要和之前搞的x86的设备对比。幕后安排事务是另外一个领导,我们老大也没发电子邮件,只是口头说。本来想具体写这个小小题外话,但想想还是算了。对于小兵来说,谁安排不是安排。
我刚刚在脑中演练了一下要进行的测试的计划,并于每天早会汇报时,老大说,某大部门有个网络问题要排查,今天下班前给结论:什么原因,能不能解决,评估什么时候可完成。于是临时中断测试计划转而投入到网络问题排查中。