物理地址
我们在电脑上进行上网,那么我们就要发送相应的数据包到网络上,广播到这个网络上的所有主机,并且接收到反馈消息。比方说你要上百度,输入www.baidu.com,先把这个数据在你的电脑上发www.baidu.com发到网关,网关在把这个信息发到百度的服务器上,进行网页的访问。
核心思想也就是收集目标机器它的物理地址,确保它是一个真实的地址,确保之后就可以上网了。真正上网不是靠ip上网,是靠物理地址上网的。
只要识别了物理地址,就可以上网了。我们把地址收集到之后,可以进行一次缓存,比方说我第一次访问百度,访问完之后,把地址保存起来。我第二次访问的时候,把百度的物理地址拿出来,直接就可以上网了,不需要再去识别重新记录ip。
ARP协议
ARP根据IP地址获取物理地址的一个TCP/IP协议。
什么是ARP欺骗
当你想上网,第一次去找网关的时候,因为你是广播的,黑客也会收到,此时黑客比网关给你确认消息的速度要快,这个时候你的电脑默认黑客的电脑是网关。那么此时你拿到的MAC地址是黑客的MAC地址,此时你是上不了网的,这个时候就是ARP欺骗。
抓包
在搜索框中输入:arp
会出现很多ARP包,此时选择一个点击,下方出现的内容是相关的一些信息,有原MAC地址,目标MAC地址,request代表发了一个request请求包,因为我们要上网,建立连接发过去。
1、request:
Hardware type:硬件类型
Protocol type:网络层协议类型
Hardware size:MAC地址长度(字节,一个字节8位)
Protocol size:协议的长度(字节,一个字节8位)
Opcode:request(1) 类型是request发送请求
Sender MAC address:发送的Mac地址,比如前面是路由,后面是网关的路由地址
Sender IP address:网关的ip,发送者的ip
Target MAC address:第一次找是不知道的,都是0
Target IP address:本机的地址(因为网关也要找到本机的物理地址,找到之后才允许上网)
2、reply:
当前网关向我的电脑寻求物理地址,允许我上网。响应的时候,我的电脑给网关发出相应的响应信息,叫reply。我的ip发送响应的信息。
Hardware type:硬件类型
Protocol type:网络层协议类型
Hardware size:MAC地址长度(字节,一个字节8位)
Protocol size:协议的长度(字节,一个字节8位)
Opcode:reply(2) 类型是reply回复请求
Sender MAC address:物理地址
Sender IP address:本身自己的ip
Target MAC address:发送的Mac地址,比如前面是路由,后面是网关的路由地址
Target IP address:网关ip