​2015年秋-网络程序设计

要求选修本课程的同学,即便是最优秀的学生,也必须保证每周课外投入的上机时间也不得少于10小时,无法保证时间投入切勿选修,最好结合工程实践项目选题,以便在课程项目的基础上继续做一些创新性的探索及原型系统。

如有课程相关的任何问题请邮件联系

课程项目具体目标

实现一种WiFi路由器伪装技术,代号变色龙chameleon,以便使变色龙附近的手机(STA,station)能自动关联认证,以使WiFi技术拥有更好的使用体验和更大的覆盖范围。

课程考核办法

  • 平时表现占40%,实验占60%
  • 平时表现包括课堂演讲参与情况及课后准备是否充分等,也包括日常突出表现的记录
  • 实验成绩的评分两原则:以功劳为主,没有功劳记苦劳;强调质量不强调数量。
    • 功劳如率先调通程序、某一模块程序做到极致的规范完善、经过仔细设计的测试代码、经过精心编辑的文档等主要产出结果和突出表现为评价依据
    • 苦劳以github上的代码文档编写提交记录为主要评价标准(请fork https://github.com/mengning/chameleon 来管理记录代码和文档)
    • 以个人评分为主,鼓励良好的团队协作

课程主要内容

  • 无线网络技术及WLAN
    • WLAN技术专题知识
      • 以下文档可以通过http://ishare.iask.sina.com.cn/ 搜索下载
      • 802.11-1999.pdf 1999年版
      • 802.11-2007.pdf 2007年修订版(Revision of IEEE Std 802.11-1999)
      • 802.11n-2009.pdf Amendment 5:Enhancements for Higher Throughput (MIMO)
      • 802.11s-2011.pdf Amendment 10: Mesh Networking
      • 802.11u-2011.pdf Amendment 9: Interworking with External Networks (HotSpot 2.0)
      • 802.11-2012.pdf 2012年修订版(Revision of IEEE Std 802.11-2007)
      • 802.11ad-2012.pdf Amendment 3: Enhancements for Very High Throughput in the 60 GHz Band
      • 802.11ac_D2.0 for ISO.pdf(unapproved draft) Amendment 4: Enhancements for Very High Throughput for Operation in Bands below 6 GHz (俗称5G WiFi)
  • 自选分享任务(请将分享ppt及相关资料发送 李同学)
    • 抓包软件的安装使用及抓包过滤出希望看到的协议数据包的方法 参考资料http://www.360doc.cn/article/12899858_295145510.html
    • 验证 WiFi Enable or WiFi从休眠中醒来,是不是一定会发出Probe Request帧?
    • Hostapd源代码分析,提出动态建立多个虚拟AP的方法
      • 理清配置一个AP的业务过程,比如SSID 、WPA密码认证 及其他配置项。
    • I/O复用机制 及常见的几种API,解释一下hostapd怎么样实现eloop
    • AP识别到STA离开覆盖区域或断开连接的方法,应该分析各种可能性提出一组方法。
    • 通过抓包分析AP与STA的关联和认证过程 ,产出:能对整个连接过程做细致的分析画出流程图,并结合802.11相关协议标准 做对比验证
    • Hostapd代码深入分析 ,为改造无线AP做技术准备
    • DHCP及在无线路由器上的应用 ,演示DHCP配置和使用,介绍其工作原理,探讨虚拟AP中与DHCP相关的问题
    • DNS及在无线路由器上的应用,演示DNS配置和使用,介绍其工作原理,探讨非权威机构部署的物理AP及虚拟AP中与DNS相关的问题
    • 802.11u(HotSpot 2.0)的工作原理及当前产业化应用现状
    • cisco meraki 产品分析 ,深度调研 meraki了解它与我们的项目目标的异同及缘由
  • 任务-2:分析hostapd开源软件代码,理解AP初始化的过程和正常工作的过程,可以创建多个虚拟AP。
  • 任务-3:根据probe request信息动态创建虚拟AP
    • 第一步:找到hostapd中在哪里处理probe request,并将其中携带的信息输出(至少输出STA的MAC地址);
    • 第二步:以抓住的STA的MAC地址或对应的字符串为SSID创建一个虚拟AP,能利用该虚拟AP连接上网;
  • 自选分享任务(请将分享ppt及相关资料发送 李同学)
    • STA为什么能自动关联之前关联过的AP?重点研究通过WPA/WPA2-PSK方式加密认证。应该有一个在可用wifi列表中选择算法
    • SIGCOMM2015 自选一篇wifi相关的文章做分享
    • MOBICOM2015 自选一篇wifi相关的文章做分享
  • 课程考核项目
    • 实现无感知认证的AP和云端AC,AP通过改造hostapd在接收到STA的probe req时向云端AC获取该STA对应的密码等相关信息,并回应对应的probe resp,在适当时机创建虚拟AP,完成无感知认证并能连接上网。
    • 云端AC的接口为:http://115.28.13.102:8080/ChameleonAC/Select?mac=A445568AB589 http://115.28.13.102:8080/ChameleonAC/register.html 访问该URL即可得到MAC地址对应的wpa密码。云端AC不是本项目的重点,因此欢迎有同学实现服务端和AP的代码库供其他同学直接使用,作为一项贡献。
    • 课程考核要求:1) Demo + Code Review,2)做几页PPT的总结报告,包括啊a)写个简要的设计说明,对项目的目标意义原理和实现方法做介绍讨论,b)对自己在这门课程学习过程中的努力和成果做简要的罗列。
    • 一个重要加分项:对项目的结果进行定量分析,比如关联认证一直到能正常上网所耗时间(与传统胖AP比较),反复测试得出AP可用性(与传统胖AP比较)等等。
  • 后续工作 -- 使用OpenWRT和无线路由器硬件构造完整的系统
    • OpenWRT的编译、修改和移植,参考http://teampal.mc2lab.com/issues/739
    • 修改OpenWRT完成路由器首次配置上网的web页面及功能
    • 通过修改wifidog定制自己的WebPortal(自动跳转到首次配置页面和云端用户注册页面),wifidog资料参考http://teamtrac.ustcsz.edu.cn/ticket/446
    • 移植修改后的hostapd到OpenWRT
    • 完善云端AC的用户管理和设备注册

参考资料

io复用机制.ppt (4 MB) li Dr, 2015-12-17 17:07

io复用机制-江纯杰.ppt (4 MB) li Dr, 2016-01-02 19:27

AP与STA的关联和认证过程-丁宝剑.pptx (246.4 kB) li Dr, 2016-01-02 19:27

DHCP详解及在AP中的使用-韦宇轩.ppt (621.5 kB) li Dr, 2016-01-02 19:27

无线Mesh简介-李旦荣.ppt (6.4 MB) li Dr, 2016-01-02 19:27

hostapd-ssid-init-陈强.ppt (1.1 MB) li Dr, 2016-01-02 19:27

INF-AP_Selection-栾向阳.pdf (481.5 kB) li Dr, 2016-01-02 19:27

hostapd数据结构图-程峰.pdf (61.7 kB) li Dr, 2016-01-05 18:36

hostapd_eloop_工作流程-李诗韵.pdf (107.8 kB) li Dr, 2016-01-05 18:36

读取配置文件_hostapd_AP工作流程-李诗韵.pdf (105.1 kB) li Dr, 2016-01-05 18:36

多bssid设置驱动的过程及调查-刘畅.pdf (43.7 kB) li Dr, 2016-01-08 18:50

无线局域网网络互连_WLAN_MESH_-颜云龙.pptx (167.1 kB) li Dr, 2016-01-08 19:10

Cisco_Meraki产品分析-陈若愚.pptx (5.9 MB) li Dr, 2016-01-08 19:10

Cisco_Meraki产品分析参考资料-陈若愚.zip (8.4 MB) li Dr, 2016-01-08 19:10

Large-scale_Measurements_of_Wireless-meraki-SIGCOMM2015-樊文浩.zip (7.4 MB) li Dr, 2016-01-08 19:10

WiFi_Enable或手机唤醒时ProbeRequest帧抓包分析-刘畅..pdf (542.2 kB) li Dr, 2016-01-08 19:10

WPA-PSK四次握手分析-刘森林.pdf (367.1 kB) li Dr, 2016-01-10 20:47

验证不同AP下PSK与PMK参数分析-黄洋.pptx (2.6 MB) li Dr, 2016-01-10 20:47