我们不能失去信仰

我们在这个世界上不停地奔跑...

0%

校园网认证流程分析,以及解决教工工作室连接有线网的问题

前言:

准备在工作室开始搞搞东西,图书馆人太多,然后把两台电脑搬到工作室,Wi-Fi貌似不是那么给力,所以还是想连接有线网。
找了一下工作室,发现我的位置底下正好有一个网线接口,就把它和我的电脑连接起来了。
首先说一下,宿舍网络的连接认证流程,
我15年入学的时候还没有dhcp服务器,宿舍连网需要自己设置ip,网关,子网掩码,dns 的值,然后才能进行连接认证。
连接好网线之后,我假设和宿舍网络一模一样的操作。

出了一些问题

连接之前,先确认网线是否插好,打开我的电脑,然后点击网络,然后点击网络和共享中心,然后更改适配器设置,看你的网络连接是否现实网络电缆被拔出,如果没有,则表示在物理上连接成功。
(注意:有些人的电脑有多个网络连接,还是有可能看到网络电缆被拔出,但是我们主要看的是 以太网的那个网络适配器是否正常显示)
确认之后,我就开始打开软件,输入账号密码进行连接了,然后还是比较欣慰,不是很快就告诉我连接失败了,而是让我等了很久,最后不得不手动结束它。
它一直现实正在连接,我也没办法,然后就打开了一个抓包工具,看看到底是哪个地方出问题了。
我用的抓包工具是 wireshark 非常强大,可以抓非常多协议的包,还支持扩展。
然后我打开之后,继续进行认证,然后先自己想一想有可能问题出在哪里,我第一个想到的就是是否需要自己配置ip,毕竟考虑到在教学区使用有线校园网的数量应该比较少,所以有可能网络中心并没有在这里
布置dhcp服务器,下面是抓包的一些dhcp包,wireshark会在短时间内抓大量的包,所以,需要使用过滤器进行过滤一下,找到我们需要的包,进行分析,然后我先大致浏览了一遍,只是接受与本机mac地址通信的
包, 在过滤器中,输入 eth.addr eq 我的mac地址 然后就可以进行过滤了

下面先讲一下校园网认证工作的流程:

首先:本机并有ip地址,然后他会先进行一个eapol 认证,eapol 就是 可扩展的局域网eap协议,
接下来:通过mac地址进行一个搜索认证服务器,发送认证广播,然后认证服务器就会回应,并且告诉本机认证服务器的mac地址,然后本机发送 Request Identity 请求认证 给 认证服务器,认证服务器收到之后,发送广播进行允许认证请求,接下来,本机先把认证账号发送给 认证服务器,然后服务器会返回一个加密字符串,要求本机与密码进行加密,然后加密完后发送给加密服务器,如果密码正确,他就会返回一个成功,否则返回失败,这就是一个认证流程。
前段时间,一直想在我自己的linux机器上写一个校园网认证的脚本。
认证成功后,这个时候才会启动dhcp服务器, 通过dhcp 我们可以分配到一个ip,然后就可以上网了。
以上就是大概的认证流程,想深入细节的,可以自己抓包进行分析。

这个是eapol认证的包:

可以看到 success 然后 就开始了 dhcp Discover 请求。

发现错误之处

检查完认证流程后,发现,eapol认证并没有错误,而且返回的是成功,所以就说明是可以通过网线连接校园网的,所以比较高兴,接下里就是寻找错误的地方,把它修改就行了。
然后检查 dncp认证:

先分析一下dhcp的工作原理:
dhcp 全英文是:Dynamic Host Configuration Protocol 意思就是动态主机配置协议,有了它,可以简化网络管理员的工作。

dhcp 通过抓包分析,他是分四次握手的协议,Tcp是三次握手协议
首先本机通过广播发送 DHCP Discover请求
然后DHCP服务器器就会进行响应,它会回复一个 DHCP Offer 里面包含所需要的ip
(如果有多台dhcp服务器,有可能会收到多个Offer)
本机得到ip之后,会发送一个报文,DHCP Request 也是通过广播进行发送
然后本机还会在发送一个报文,DHCP ACK 也是通过广播,就是告诉dhcp服务器本机使用了谁提供的ip。
(注:每个dhcp服务器都会接收最后一个本机发的报文,然后跟自己提供的相对比,如果相同,就会标记此IP有人使用了,如果不同,它就会收回自己的ip供下一次提供给别人)

然后我发现,只有本机发送的dhcp Dicover包,没有得到响应

所以可以判定,要自己设定ip地址,
然后也不知道地址是怎么分配的,然后就只有随便设置一个,然后继续抓包,
在包里,看到有陌生的ip就进行试一试,只要知道ip地址,相应的子网掩码,默认网关就很好设置了。
通过抓包里面的arp协议的包,发现没有得到响应,就可以断定,自己的ip设置的有问题。

最后就是属于设置ip的问题了,经过几经周转,得到了教学区网络分配的地址,写上ip,怀着无比期待的心情,连上啦。。。。。

写这篇东西,其实没有对别人没有什么帮助,不是教程,也不是别人需要的东西,这个 只是我 分析 网络故障的一种方法,把它一点一点具体到精准部位,只能说给出一个事例,我分析网络故障的思路。