# SimpleLanCrack
简单的无源网络分线器,用来调试嵌入式设备抓包使用.
仅适用于`10/100BaseT`网络
> 对于需要更高速率网络环境或者更方便的抓包(同时抓取双向等)推荐使用支持端口镜像功能的管理交换机,如TL-SG2005等.
**原理:**
本质上就是把数据线分开,其中RJ1/RJ2直连.常见RJ45网线有两种接法(网线头指向上,面向金手指):
- **EIA/TIA568B**: 1-橙白,2-橙色,3-绿白,4-蓝色,5-蓝白,6-绿色,7-棕白,8-棕色
- EIA/TIA568A : 1-绿白,2-绿色,3-橙白,4-蓝色,5-蓝白,6-橙色,7-棕白,8-棕色
即Pair2(橙)与Pair3(绿)交换.**直通线**为两端都是T568B,交叉线为一端T568A一端T568B.直通线较为常见,只有同级设备互联才使用交叉线(交换机同交换机,终端同终端),但现在常见网口芯片都支持极性变化(MDIX),因此都用直通线即可.
数据线功能定义:
- 1: 数据输出,极性+
- 2: 数据输出,极性-
- 3: 数据输入,极性+
- 4: NC,双向数据+
- 5: NC,双向数据-
- 6: 数据输入,极性-
- 7: NC,双向数据+
- 8: NC,双向数据-
可见,其中pair1(蓝)和pair4(棕)在100M网络中是没有使用的,在千兆网络中传输双向数据.因此在一些应用中使用了这些NC部分,如POE(线序1)中使用46为电源正,78为电源负极.
- RJ3/RJ4分别接RJ1的输出/输入提供给外部接口作为输出.
- 两个电容作用是干扰网路以迫使PHY降低速率到10/100BaseT.也可以使用电阻.若能保证网络不会自动切换为1000BaseT时电容可以不焊接.
- 无源分线器都会一定程度上降低信号质量.因此推荐使用*较短的高质量的网线*进行连接.
**来源:**
本项目基于[greatscottgadgets](https://github.com/greatscottgadgets/throwing-star-lan-tap)的开源项目,略作简单外形修改而成.
本项目实际应继承源项目开源协议.由于没有找到原作者相关开源协议说明,暂定此项目开源协议为MIT,后续可能变动,望注意.
## 制作
整体制作很简单
- 焊接4个RJ45.原作者使用`Amphenol RJHSE-5080`/`RJHSE-5380`,此项目基于`C2828082`绘制,实际不推荐.我是整好有剩余此型号带LED的.
- 焊接电容.原作者使用220pF的独石电容`KEMET C315C221K1G5TA`.此项目绘制兼容`直插100mil`/`C0805`两种封装.推荐`C0G(NP0) 220pF 100VDC`
- 原本中未连接接口屏蔽,此绘图中4个RJ45接口屏蔽互相连接且连接至螺丝孔.实际使用不会有差异.
## 使用
- 确保路由器/交换机网络可用.通过网线连接:
```
交换机<--->RJ1--RJ2<--->嵌入式设备
```
- 此时分线器仅相当于一段网线,嵌入式设备应能够正常联网通信.若不能通信,则应检查网络/线路
- 视需求将PC网口同RJ3或RJ4连接.以抓取输入数据包.此时,PC网口仅为被动接收口,没有输出能力(输出信号线12未连接)
- PC端使用开源的wireshark等上位机软件,抓取对应网口的输入数据包即为实际链路上单向的数据包内容
## 外壳
![image.png](//image.lceda.cn/pullimage/VQDuVxWcNwerktEYI1ZWSIXErtjWyehCVvGCGEJd.png)
使用EDA自带外壳设计弄得外壳,圆滚滚能好看点.上面点点圆点指向直通,方口为监测.可以用彩笔凸点颜色比较好.
![image.png](//image.lceda.cn/pullimage/PiNKp6mhOy4WanjqM2W3HgC69xiklzUBRhz6tpyt.png)
EDA画外壳不是很会,有一些问题:
- 如上图,下壳距离网口下面边缘距离没弄好.不影响使用,懒得改了
- 上下壳存在一点点缝隙,用久了存点油腻做深色腰线也不错(bushi)
- 下壳内部支撑螺丝孔位的柱子短了,碰不到PCB,网口的定位柱支撑在下壳上面(其实上面两点也因为这个,不想剪支撑柱,万一弄得不平更丑)
不知道EDA怎么增加卡扣,因此使用了上下螺柱压住PCB固定(尽管设计短了)的方式.然后在接口处通过胶水固定上下壳