Jamesits / mentohust

Automatically exported from code.google.com/p/mentohust
https://code.google.com/p/mentohust/
2 stars 0 forks source link

802x协议代理程序 #256

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
可以交叉编译到路由器上面,然后自行定义 PC_MAC DEV_1 DEV_2
gcc main.c -o main -lpthread -lpcap -ldl

原理很简单,开两个进程,分别监听路由器两个网卡的802x包�
��然后相互代理

目前程序编译运行能够很好的代理802x 锐捷能够认证成功 
实测4.36代理认证成功后 但路由无法上网

另外还有很多没完成的地方 拙劣之作 勿笑

Original issue reported on code.google.com by 592...@gmail.com on 15 Sep 2014 at 1:04

Attachments:

GoogleCodeExporter commented 9 years ago
支持一个呢。

Original comment by quanrui...@gmail.com on 16 Sep 2014 at 2:28

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
其实还没有看懂你的原理,可否详细说明一下?

Original comment by quanrui...@gmail.com on 16 Sep 2014 at 3:02

GoogleCodeExporter commented 9 years ago
quanrui...@gmail.com

谈不上什么原理 用的libpcap的库 用main函数开两个线程 
申请两个回调函数(监听到802x包的时候就返回到函数) 
分别监听路由器的两个网卡 一个线程判断源MAC来自PC的话 
就原封不动的用WAN的网卡把这个包复制发送过去 
另一个线程依然 测试认证是没问题的 但是路由器的WAN网卡 
却无法上网  不知道其它版本的锐捷 能否使用

Original comment by 592...@gmail.com on 16 Sep 2014 at 10:54

GoogleCodeExporter commented 9 years ago
我加了一个改写MAC的功能,即当LAN上出现合适0x888e且源MAC为PC
_MAC的数据包时,把其源MAC改为路由WAN口的然后发送至WAN;而�
��WAN上出现目标MAC为路由MAC时,把目标MAC改为PC_MAC再发送至LAN
。这样应该能够实现路由不克隆MAC地址的情况下由电脑代理��
�认证,从而使得来自路由的MAC的数据包允许通过交换机。可�
��这样的话电脑显示认证成功,但得不到IP;路由上用udhcpc -i 
eth1也得不到IP……不知道问题出在哪了……

Original comment by hao...@gmail.com on 11 Oct 2014 at 5:02

GoogleCodeExporter commented 9 years ago
接上,如果直接使用原本的程序,在路由WAN口设置MAC地址克��
�为电脑的,也是一样无法获取IP的状况(电脑和路由都不行��
�……如果电脑接进线,在电脑上认证好以后看到了IP、掩码��
�网关,然后开启代理,进线插到WAN,电脑插LAN,再认证,等�
��证成功后立即手动设定WAN口IP和掩码为之前记录的,这样也�
��能连通网络,ping网关是不通的……

Original comment by hao...@gmail.com on 11 Oct 2014 at 5:06

GoogleCodeExporter commented 9 years ago
进一步测试除了替换MAC以外还代理DHCP数据包(从LAN代理到WAN�
��改变里面的两处MAC地址)仍然无DHCP 
Offer……实在想不出来哪里还有问题……

Original comment by hao...@gmail.com on 1 Nov 2014 at 2:49

GoogleCodeExporter commented 9 years ago
5楼的同学,看你们学校是先锐捷认证后DHCP的话 
这个方法貌似不管用,我们学校是直接DHCP获取IP的 
然后认证就能上网 我代理了协议之后 
认证没有任何问题,但是无法上网

Original comment by 592...@gmail.com on 15 Nov 2014 at 10:54

GoogleCodeExporter commented 9 years ago
感觉DHCP服务无响应跟不能上网有可能都是交换机仍然没有允�
��数据包通过的表现,实际还是一个问题……

Original comment by hao...@gmail.com on 17 Nov 2014 at 3:21