目录:
一:抓包及包头分析
1.1:科来抓包工具的使用
1 下载地址:点击下载
2 无脑下一步安装
3
因为win7没有telnet服务,所以下载putty软件,远程连接10.1.1.2
然后登录进去:
然后打开科来软件界面,(刚刚远程连接的密码的最后以为是m)
二:IP包头分析与路由原理
2.1:IP包头
从版本(包括)到目标地址(包括)的总长度位20个字节
版本:代表这是什么协议, 0100:IPV4 0110:IPV6
首部长度:用来标识IP包头的总长度(即:从版本开始到3层包头结尾处的长度)比如:0101这是代表5,5*4=20,代表没有可选项,可选项长度为0
优先级与服务类型:一共占有8个比特位,前三个代表优先级(QOS),中间四个代表服务类型(TOS),最后一个没有被启用
优先级别高的会优先转发;类型的话,区别传输类型,比如传文本和通视频,侧重点不同
总长度:即上述图片的整个长度,IP包的长度,3,4,5层这三层的总长度
标识符:对IP头分片分类的,确定所分片的内容属于同一个IP包,防止不同IP包的相同段偏移量的情况下进行错误叠加
标志:一个占有3个比特位,第一个比特位始终为0,表示未启用,等待开发新的作用,
第二个为0时,则表示该IP报文已被分片,为1时,则表示未分片,就一个帧
第三个用来表示本分片是否为最后一个分片,为0时,表示后面没有分片了这是最后一个,为1时,则还有后续分片
段偏移量:用来决定IP分片后的先后顺序
TTL:生存时间(注意单位不是秒),其大小占用8个比特,00000000-11111111代表0-255这个区间。每经过一个路由器其值就会减1,
可以通过TTL值来初步判断对方是用什么类型的主机,TTL>100 windows主机,TTL<100 Linux主机,TTL=255特殊情况,代表网络设备,可以是路由器。
可以通过ping,tracert命令进行查看。作用:防止数据包永久的在网络上循环下去,清除垃圾TTL=0时就会被干掉。
协议号:识别上层协议为TCP(值=6)还是UDP(值=17),同层协议ICMP(值=1)
首部校验和:和帧尾的FCS一样,用来检测三层的IP包头,不含4,5层数据
可选项:字节长度20-40
源地址:源IP地址
目标地址:目标IP地址
2.2:路由原理一
什么叫路由:
跨越从源主机到目标主机的一个互联网络来转发数据包的过程,也就是说:路由器为IP包选择路径的过程
路由器的依据:路由表。表里面有就转发,没有就直接丢弃,并反馈一个ICMP报错信息包
以下内容可以结合此图来看
静态路由:
conf t
ip route 目标网段 子网掩码 下一跳IP
(注释:下一跳IP:与该路由器紧紧相连的下一个路由器接口的IP地址)
如:
ip route 70.1.1.0 255.255.255.0 20.1.1.2 (其中的0代表的是这一个网段)
默认路由:
conf t
ip route 0.0.0.0 0.0.0.0 下一跳IP (其中的8个0分别代表所有IP和子网掩码)
如:
ip route 0.0.0.0 0.0.0.0 20.1.1.2
浮动路由:
在静态或默认路由后面加“空格+数字(正整数)”数字越小优先级越高
如:
ip route 0.0.0.0 0.0.0.0 30.1.1.2 2
查看路由表:
do show ip route
查看接口列表:
show ip inter b
2.3:路由实验一
如图布置路由:
所有IP等设置参照原理内容的图片
例如:
先给所有路由器配置好IP地址,子网掩码
然后手动配置路由表
5台PC都要配置好IP,子网掩码,网关,然后进行ping测试,
还可以给所有网络设备设置账号密码,从而达到PC0控制整个网络
2.4:路由实验二
验证静态路由,默认路由,浮动路由优先级
如图:
只有当上面的那一条线路失效时就会启用下面一条。
三:ARP协议分析与防护
3.1:概述:
广播与广播域:
广播:将广播地址做为目的地址的数据帧。
广播域:网络中能接收到同一个广播所有节点的集合
ARP概念:
address resolution protocol:地址解析协议
作用:将一个已知的IP地址解析成MAC地址
原理:1: 发送ARP广播请求
ARP报文内容(形象化理解):
我是10.1.1.1 我的MAC是AA
哪个是10.1.1.3 你的MAC是多少?
2: 接收ARP单播应答
Windows系统中的ARP命令
arp -a:查看ARP缓存
arp -d:清除ARP缓存
arp -s:ARP绑定
ARP攻击和欺骗的原理:
通过发送伪造虚假的ARP报文(广播或者单播)来实现的攻击或欺骗
ARP攻击和欺骗的区别:
攻击:通过发送虚假的(一般是指不存在的MAC地址)广播或应答报文来实现中断通信
欺骗:通过发送虚假的(一般是指黑客自己的MAC地址)报文来实现监听,窃取,篡改,控制(但不中断,这样使得不易被发现)两方的通信,可以理解为两方的通信内容必须经过这个虚假地址的中间人。
ARP协议没有验证机制,攻击者可以通过发送虚假伪造的ARP报文对受害者进行ARP缓存投毒。
3.2:路由原理二:
路由器设备的工作原理:
1 一个帧达到路由器,路由器首先检查目标MAC地址是不是自己,若不是就丢弃,反之则解封装并将IP包送到路由器内部
2 路由器检查IP包头中的目标IP,并匹配路由表,若匹配失败就丢弃,并向源IP回馈错误信息,若匹配成功则将IP包路由到出接口
3 封装帧,首先将出接口的MAC地址做为源MAC地址进行封装,然后检查ARP缓存表是否有下一跳IP的MAC地址,若有,则提取并把该MAC做为目标MAC地址封装到帧中,若没有则发送ARP广播,请求下一跳IP的MAC地址,并获取,然后记录缓存,封装帧,最后将帧发送出去。
3.3:ARP的攻击与欺骗实验
在虚拟机里面打开xp1,win7,xp2。IP分别设置为10.1.1.1/24,10.1.1.2/24,10.1.1.3/24,能够互相ping通,其中win7做为攻击者,并安装如图两款软件。
第一款是用来实现攻击的,第二款可以用来欺骗
Netrobocop:
点击图中的“添加/修改”,然后就能看到扫描后的信息了
点击开始,然后切换到XP1电脑,进行ping 10.1.1.3,就会发现Ping不通了,然后命令arp -a查看,就会发现10.1.1.3的MAC地址是假的
下图是真正的MAC地址
第二款工具:
CAIN,操作步骤:
下图中右键空白区域,选择Scan MAC Addresses
就会扫描出该网段的所有主机,然后点击APR按钮
点击➕号,添加欺骗列表
就会看到
然后选中这一行,点击那个像生态危机图标的按钮
就会发现,选中的这一行的状态变成了Poisoning了,翻译过来就是中毒的意思。
然后进行验证,在XP2上,运行窗口输入services.msc,打开telnet服务。然后用XP1来进行连接
然后回到WIN7界面
这样就能实现窃取通过telnet的明文账号密码。
3.4:ARP的防御
1:静态ARP绑定
手工绑定/双向绑定
Windows客户机上:
arp -s 10.1.1.254 MAC地址
2:ARP防火墙
自动绑定静态ARP
主动防御,不停的向网关发送一个ARP报文来证明自己就是自己,其实类似于黑客攻击一样,不断的向网关发送报文
3:硬件级ARP防御:
需要交换机支持端口做动态ARP绑定(配合DHCP服务器)或者做静态ARP绑定
如:
conf t
ip dhcp snooping 在交换机上输入这个命令,表示开启交换机动态监听
int range f0/1 - 48 (前提是支持这种命令,思科交换机支持)