分类 路由器 下的文章

关于路由器固件 tomato, tomatoUSB, advanced tomato

tomato 是一个基于 Linux 的, 专门给使用Broadcom芯片的路由器用的系统.
2008年Teddy_Bear基于 tomato 发布了支持 USB 的 tomatoUSB, 并扩展了其他功能. 2011年, 他宣称不在维护.
最新的发布是 Tomato by Shibby, 由Shibby 发布.
Advanced tomato 是改进了 tomato 的 UI.

Tomato by Shibby: 关于 tomato 历史: http://tomato.groov.pl/?page_id=81
Tomato FAQ: http://www.polarcloud.com/tomatofaq
https://advancedtomato.com/

树莓派 raspberry 播放 路由器 上的电影

首先介绍一下情况:

  1. 路由器是基于openWRT的智能路由器;
  2. 路由器上面安装了 BT 客户端, 路由器一直开机, 且低功耗,使用BT下电影有优势;
  3. BT 客户端下的电影存放在路由器挂载的一个移动硬盘上面;
  4. 家里有另外一个树莓派, 它本身具有 HDMI 接口, 可以直接omxplayer播放电影

为什么不用路由器直接播放, 都是ARM的芯片?

  • 路由器的内存只有64M, 上面还跑其他服务, 没有 HDMI 接口,平时智能通过 samba 共享给其他设备.

详细步骤:

  1. 树莓派安装 sshfs
    sudo apt-get install sshfs
  2. 路由器安装 openssh-sftp-server
    ipkg install openssh-sftp-server
  3. 树莓派远程挂载路由器的资源
    mkdir /mnt/remote #创建挂载文件夹
    \#挂载 user 是路由器上用户名, /mnt/movies 是路由器是电影文件夹
    sudo sshfs user@192.168.1.1:/mnt/movies /mnt/remote
  4. 播放电影
    omxplayer -o hdmi /mnt/remote/test.mp4

遇到的问题:

  1. 路由器无法安装 sftp-server?
    查看你的 ipkg 的配置文件 /etc/ipkg.conf
  2. sshfs 报错 : sshfs remote host has disconnected
    使用debug 参数去看一下:
    sudo sshfs -o debug,allow_root remote@192.168.1.1:/mnt/X /mnt/remote
  3. sshfs 在debug情况下报错: sh: /opt/libexec/sftp-server: not found
    确认你共享服务器上装有 sftp-server, 没有的话, 去安装
  4. 共享了, 可是没有读权限
    加上 -o allow_other 选项
  5. 树莓派 可以播放, 但是 HDMI 输出没有视频
    配置 /boot/config.txt
    hdmi_force_hotplug=1
    hdmi_drive=2

[读书笔记] 802.11 RSN WPA

IEEE 802.11 工作组是一个技术标准委员会, WIFI 联盟是主要的WIFI 设备厂家的联盟. 经过 WIFI 联盟的测试程序测试通过的, 可以打上 WIFI 的logo. 在这个测试中不是所有 802.11 的功能都是必须的, 同时还添加了一下其他小的功能, 来保证互操作性.

802.11i 定义了一种新的无线网络, 称之为: robust security network (RSN). RSN 只能和 RSN 设备互操作.
802.11i 对应于 RSN.
由于算法的不同, 老的 WEP 设备不能升级到 RSN 算法的网络.
transitional security network (TSN) 是一个介于 WEP 和 RSN的中间过度网络.

TKIP: Temporal Key Integrity Protocol. TKIP 是 RSN 网络下一个可选的 模式. 对应于 RC4 和 AES.

由于新的标准 RSN 迟迟不能完成, 即使完成, 也无法在现有支持 WEP的设备上通过软件升级使用, WIFI联盟 就想定义一个新的协议可以在现有设备上运行, 这个协议就是 TKIP, 但是TKIP 的审批需要很长时间, 于是WIFI 联盟就采用了一个基于 RSN 草案的安全方法, 但是仅仅采用TKIP算法, 这种新的RSN 之集的标准, 称之为: WPA (Wi-Fi Protected Access)

RSN 和 WPA 使用通用的架构和方式, RSN 让实现更灵活, WPA 则强调实现一种方式去实现网络. RSN 支持 AES 芯片加密, WPA 则主要是 TKIP.

[读书笔记] WEP 协议 及 加密的基本信息

802.11 WEP 的安全体现在2个部分, 分别是 认证 和 数据加密.

客户连接端连接到访问点之前都要经过 认证(Authentication) -> 关联(Association) 2个阶段.

即使是没有密码的访问点 (open network), 也需要 (Authentication)阶段: 客户连接端发出一个 Authentication request frame, 访问点返回一个 success Authentication response frame.

使用 WEP 加密的网络, 认证过程:

  1. 客户连接端发送一个认证请求消息
  2. 访问点回应一个挑战请求消息
  3. 客户连接段使用密码产生挑战请求答案消息
  4. 访问点回应成功接受或拒绝接受

这里的挑战请求可以理解为: 访问点发送一个随机字符串, 连接端使用密码去加密这个字符串, 发给访问点, 访问点用自己的密码也去加密, 对比结果.
以上这个过程并不能证明, 访问点就是真的访问点, 它只是发送一个随机字符串, 连接客户端就使用它的加密方法, 把结果给访问点了. 如果我们把加密方法虚拟为这个公式: 加密后字符 = 加密方法(随机字符串, 密码), 那么一个真正的访问点, 这3个数据都有, 一个假的访问点, 就有了: 加密后的字符 和 随机字符串, 如果公式是可逆的, 那么这个假的访问点就能推导出 密码了.

事实上, 大多数 WIFI 都没有使用密码认证, 而是设为 open network, 等 Association 之后, 进行加密数据传输.
后来, 很多厂家的 WEP 产品都 弃用 了认证阶段.

WEP 加密使用的是 RC4 算法.
WEP 最初的标准只能使用 40bit 的KEY, 后来厂家基本都扩展到104bit, WIFI 最后也接受了这个长度, 最后变成40~104 bit.
WEP 的密码是 40 ~ 104 bit, 也就是5 ~ 13 个 ASCII 码可打印字符. 另外有24 bit 的 Initialization Vector (IV), 每个包都使用不同的 IV. 这就是组成了128 bit 的加密强度.
RC4 使用上面 128 bit 的组合 Key 来对数据进行加密.
即使是一样的明文, 由于每个包使用不同的 IV , 所以生成的密文也不一样.
但是这个 IV 对于连接的另外一方, 却不知道, 所以它要传给对方, 并且是明文传过去的, 这样对方才能用它 加上自己的密码去解密.
由于IV 只有24bit, 24bit的可能值只有16777216个, 所以有大量的数据, 这个很快就会被遍历一遍.

在WEP 标准种有2种 WEP key, 分别是 Default Key(s) 和 Key mapping key(s)
Default Key(s): 所有的客户连接端和访问点都有共同的一个或一组key(最多4个, 多个是为了在key change 过程中使用);
Key mapping key(s): 每个客户连接端使用不同的key, 访问点有个key mapping 列表, 同时有个default key 用来广播什么的, 现在几乎没有厂商使用这种了.

你应该了解为什么当时WEP 标准对于 Default Key(s) 使用了4个key?
1) 发送和接收使用不同的key -> 2 个;
2) 当发生key 改变的时候 -> 2个.
当然你用一个key 也是完全可行的.

ICV: Integrity Check Value
MAC : Media Access Layer
MSDU :(MAC service data unit)
加密之前的数据用 ICV, 加密之后的数据frame 用CRC (cyclic redundancy check)

数据从TCP/IP 层进入到 链路层之后, 在物理层发出去之前的过程:

  1. 计算 ICV, 追加到数据之后
  2. 产生 IV, 和 WEP key 组合在一块(WEP 可能是多个当中选一个)
  3. 初始化 RC4 加密引擎, 进行加密

发出的数据 : MAC header | 24bit IV | 8bit Key Id | 加密后的 (data + ICV) | CRC

更多关于 MAC header 的图例, 可以google 一下, 里面有个bit 是用来标明是不是 WEP 加密的.

由于 RC4 的线性流加密, 由于前几个可猜测的字节, 由于弱的IV, WEP 可以在有一定样本数据的情况下被破解.

[读书笔记] 无线局域网 初级基本概念

当我们讨论局域网的时候, 一般指的是链路层和物理层, 较上2层: TCP/IP 传输层/网络层 来说, 链路层和物理层有不同的介质, 组网方式, 协议. TCP/IP 相对比较固定.

IEEE 802 一系列协议就是处理 链路层和物理层的一些协议, 如:
802.3 Ethernet协议、802.5 Token Ring协议、802.3z 100BASE-T快速以太网协议, 802.11 WLAN 协议.

802.11 里面又包括很多协议: 如 802.11a/b/g/n, 802.11i, 802.11e 基于WLAN的QoS协议

无线网络有2种模式: Infrastructure 模式和 Ad-Hoc 模式.

  1. Infrastructure 模式所有的无线连接端连接到同一个访问点(AP), 就是我们现在家里常用的路由器模式.
  2. Ad-Hoc 模式: 即点对点模式, Ad Hoc源自于拉丁语,意思是“for this”引申为“for this purpose
    only”,即“为某种目的设置的,特别的”意思,即Ad hoc网络是一种有特殊用途的网络。

WIFI, 802.11 和 无线局域网

  • Wireless LAN is a general term used for short-range, high-speed radio
    networks. Wi-Fi is one kind of wireless LAN.
  • IEEE 802.11 is the formal technical standard that defines how Wi-Fi
    systems operate.
  • Wi-Fi is the industry standard for products based on IEEE 802.11 as
    defined by the Wi-Fi Alliance. Wi-Fi products are tested for
    compatibility among different manufacturers.

在无线客户端连接到一个访问点之前, 一般有2步: authentication -> association.

Wired Equivalent Privacy: 最开始的想法是: 像有线设备一样保障隐私.
Wi-Fi Protected Access(WPA) 实现了 802.11i的一个子集, WIFI 联盟对于完全实现802.11i的协议称之为 WPA2, 也被称为 RSN (Robust Security Network).

WPA2 使用 AES (Advanced Encryption Standard) 块加密算法, WPA 和 WEP 是使用 RC4 流式加密算法.

Unlike 802.11a, b and g specifications, all of which define physical layer issues, 802.11i defines a security mechanism that operates between the Media Access Control (MAC) sublayer and the Network layer.

在802.11i制定的漫长过程中, WPA 作为一种过渡方案而出现.

参考:
http://www.windowsecurity.com/articles-tutorials/Wireless_Security/80211i-WPA-RSN-Wi-Fi-Security.html
https://en.wikipedia.org/wiki/IEEE_802.11i-2004
http://techbus.safaribooksonline.com/book/networking/wireless/0321136209/firstchapter