首页 > 系统相关 >我的Linux网络之行1-基础网络知识

我的Linux网络之行1-基础网络知识

时间:2023-08-15 14:44:38浏览次数:33  
标签:ARP IP 主机 报文 网络 之行 AP MAC Linux

前言

最近不光在解决项目的问题,也遇到过部分的网络问题,发现自己对于网络的知识还是非常匮乏的,因而在此做一些归纳,记录也是分享,当然我的分享应该不是最全的,但个人认为有些东西就算分享出来,用不到也是白折腾。

Wi-Fi的相关名词介绍

到一家店里面,以前我们经常喊:老板,你们这边的WIFI叫什么名字?

身为一个技术人员嘛,我们当然得知道“WIFI”到底指的是什么。

“WIFI”就是指SSID: Service Set Identifier(服务集标识)

SSID是一个ESS的网络标识(如:TP_Link_1201),BSSID是一个BSS的标识,BSSID实际上就是AP的MAC地址,用来标识AP管理的BSS,在同一个AP内BSSID和SSID一一映射。在一个ESS内SSID是相同的,但对于ESS内的每个AP与之对应的BSSID是不相同的。如果一个AP可以同时支持多个SSID的话,则AP会分配不同的BSSID来对应这些SSID。

这上面的话比较拗口,那么一个路由器(ESS)下可以接一个新的路由器(BSS)BSSID就是这个新的路由器的mac地址,这个新的路由器又组成了一个新的AP(一个新的连接点)其SSID与MAC地址对应。

在这里插入图片描述

还有几个名词

  • 站点STA(手机)
  • 接入点AP(路由器)
  • 扩展服务集ESS
  • 基本服务集BSS
  • 分布式系统DS(传输用的,后面会讲到)

在这里插入图片描述

STA(工作站)启动初始化、开始正式使用AP传送数据帧前,要经过三个阶段才能够接入(802.11MAC层负责客户端与AP之间的通讯,功能包括扫描、接入、认证、加密、漫游和同步等功能)

1)扫描阶段(SCAN)
2)认证阶段 (Authentication)
3)关联(Association)

Wi-Fi的扫描

Active Scanning 主动扫描 (特点:能迅速找到) STA依次在13个信道发出Probe Request帧,寻找与STA所属有相同SSID的AP,若找不到相同SSID的AP,则一直扫描下去..
Passive Scanning 被动扫描(特点:找到时间较长,但STA节电)通过侦听AP定期发送的Beacon帧来发现网络,该帧提供了AP及所在BSS相关信息:“我在这里”…

在这里插入图片描述

具体的被动扫描:

(1)跳至某个信道,然后等候来帧指示(indicationof an incoming frame)或者等到ProbeDelay定时器超时。如果在这个信道收到帧,就证明该信道有用户在使用,因此可以加以探测。而ProbeDelay定时器可用来防止某个闲置信道让整个过程停止,因为工作站不会一直等待帧的到来。
(2)利用基本的DCF访问过程取得媒介使用权,然后送出一个Probe Request帧。
(3)至少等候一段最短的信道时间(即MinChannelTime)。
a.如果媒介并不忙碌,表示没有网络存在,因此可以跳至下个信道。
b.如果在MinChannelTime这段期间媒介非常忙碌,就继续等候一段时间,直到最长的信道时间(即MaxChannelTime)超时,然后处理任何的Probe Response帧。
大家可能会发现当手机进行WIFI热点搜索时,有时时间会比较长,原因是你处在的区域存在多个接入点(AP),当手机发出Probe Request帧时,多个接入点(AP)通过竞争窗口(congestionwindow)回应Probe Response帧,而这个竞争过程受限于最长的信道时间(即MaxChannelTime)。

Wi-Fi的认证

弹出一个输入密码的窗口,当然也有不用输入密码的。这个过程叫做:认证(Authentication)
里面的具体机制呢,后面再说,可以来看一下Wi-Fi的加密协议有什么。

  • WPA(Wi-Fi Protected Access)是WIFI联盟制定的安全性标准,WPA2是第二个版本
  • PSK(PreShared Key)叫做预共享密钥。WPA-PSK/WPA2-PSK主要是针对个人或家庭网络等,对安全性要求不是很高的用户
  • WPA2是在802.11i颁布之后,WIFI联盟随即推出的最新无线安全标准,它遵循802.11i标准,以下是它采用的模式:
    WPA2-PSK= PSK(密码) + AES + CCMP(计数器模式及密码块链消息认证码协议)
    在这里插入图片描述

Wi-Fi的关联

工作站与基站进行关联,以便获得网络的完全访问权。它让分布式系统(Distribution System)得以记录每个移动式工作站的位置,以便将传送给移动式工作站的帧,转送给正确的基站。
简而言之,就是和AP建立数据交互了。
在这里插入图片描述
1、一旦移动式工作站与基站完成认证,便可送出关联请求(Association Request)帧。尚未经过身份认证的工作站,会在基站的答复中收到一个解除关联(Deauthenticaton)帧。
2、基站随后会对关联请求进行处理。IEEE802.11标准并未规范如何判断是否请允许关联;这因基站的实现而异。较常见的方式是考虑帧暂存所需要的空间大小。以Association Request帧中的聆听间隔(Listen Interval)字段来推算,大致上可以粗略推算出。
a. 一旦关联请求获准,基站就会以代表成功的状态代码0及关联识别码(Association ID,简称 AID)来回应。AID本身是数值形式的识别码,在逻辑上则是用来辨识暂存帧所要传递的行动式工作站。
b. 关联请求如果失败,就只会返回状态码,并且中止整个过程。
3、基站开始为移动式工作站处理帧。在常见的产品中,所使用的分布式系统媒介通常是Ethernet。当基站所收到的帧目的地为与之关联的移动式工作站时,就会将该帧从 Ethernet桥接至无线媒介,如果该移动式工作站处于省电(Power-Saving)状态,则为之暂存帧。在共享式Ethernet中,该帧会被送至所有基站,不过只有正确的基站会进行桥接处理。在交换式Ethernet 里,该工作站的MAC地址得以跟某个特定的交换端口(Switch Port)形成关联。当然,该交换端口必须连接到当前为该工作站提供服务的基站。

网络协议

说了那么多的Wi-Fi链接,其基石除了nl802.11协议,还有最基石的几个协议,比如ARP\ICMP\TCP,这些是我们最常用到的协议栈。
一般我们会见到OSI的7层架构,给这些协议做了划分
在这里插入图片描述

ARP

ARP(Address Resolution Protocol)地址解析协议,目的是实现IP地址到MAC地址的转换。
在这里插入图片描述

实例

主机A的IP地址为192.168.42.1,MAC地址为0A-11-22-33-44-01
主机B的IP地址为192.168.42.15,MAC地址为0A-11-22-33-44-02
当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.42.15)解析成主机B的MAC地址
以下为工作流程:
(1)根据主机A上的路由表内容,IP确定用于访问主机B转发IP地址是192.168.42.15。然后A主机就在自己的本地ARP缓存中检查主机B的匹配MAC地址。
(2)如果主机A在ARP缓存中没有找到映射,它将询问192.168.42.15的硬件地址,从而将ARP请求帧广播道本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,他将丢弃ARP请求。
(3)主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存(主机B)中。
(4)主机B将包含其MAC地址的ARP回复消息直接发送回主机A。
(5)当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。

主机B的MAc地址一旦确定,主机A就能向主机B发送IP通信了

ARP数据分析

下图为抓到的一个ARP的请求
在这里插入图片描述
具体可以看以下表格
在这里插入图片描述
ARP的回复包:

在这里插入图片描述
注意了
内容格式和请求相似,不过会有目的地址对应的MAC地址,ARP数据包类型字段为2。
重点就在opcode。

ARP的攻击与防御

从上面大家可以看出ARP是一个非常简单的包,如果是黑客的,他会咋么做呢?
不卖关子了,我可以截取ARP,将其挟持成自己的主机,有段时间你可能发现你的主机变慢了,网络卡了,那么有可能是受到了ARP的攻击哟。
一般来讲
①ARP缓存表基于"后到优先"原则,IP与MAC的映射信息能被覆盖;
②ARP攻击基于伪造的ARP回应包,黑客通过构造"错位"的IP和MAC映射,覆盖主机的ARP表(也被称为"ARP毒化"),最终截取用户的数据流;
③一旦遭受ARP攻击,账号密码都可能被窃取(如果通信协议不是加密的);

对于商业级的交换机来讲,都会有DAI(Dynamic ARP Inspection)- 动态ARP检测。
主要工作为:
1.交换机记录每个接口对应的IP与MAC,生成DAI检查表
2.交换机价差每个接口发过来的ARP回应包,根据DAI表判断是否违规,并惩罚相关接口

那么我们消费级的就没有办法了吗?
还是有的。模拟DAI的算法,通过软件的模式,不断地处理网络包,并在本地做保护。
ARP防火墙:
1.绑定正确的IP与MAC映射
2.自动识别局域网内存在的ARP扫描和欺诈行为

ICMP

一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否畅通;但是IP协议并不提供可靠传输。如果丢包了,IP协议并不能通知传输层是否丢包以及丢包的原因。 所以我们就需要一种协议来完成这样的功能–ICMP协议。
主要功能:

  1. 确认IP包是否成功到达目标地址
  2. 通知在发送过程中IP包被丢弃的原因

最常用的Ping就是ICMP报文:

一台主机向一个节点发送一个类型字段值为8的ICMP报文,如果途中没有异常(如果没有被路由丢弃,目标不回应ICMP或者传输失败),则目标返回类型字段值为0的ICMP报文,说明这台主机存在。

在这里插入图片描述
ICMP报文包含在IP数据报中,IP报头在ICMP报文的最前面。一个ICMP报文包括IP报头(至少20字节)、ICMP报头(至少八字节)和ICMP报文(属于ICMP报文的数据部分)。当IP报头中的协议字段值为1时,就说明这是一个ICMP报文。
在这里插入图片描述
而我们一般需要关注的类型有以下这几个
在这里插入图片描述

实例

这是我抓到的2笔ping过程中的ICMP报文
在这里插入图片描述
其具体数据如下:
在这里插入图片描述

在这里插入图片描述

一个请求,一个回复,注意这边的type与code,这个是构成ICMP类型的重要组成。根据这个你能够知道到底发生了什么事情

通常为以下状态:
类型8,代码0:表示回显请求(ping请求)。
类型0,代码0:表示回显应答(ping应答)
类型11,代码0:超时

TCP报文

有很工程,我们一般都是使用TCP通信的,什么3次握手,我在此就不说了,主要还是说说协议。
还是一样要关注的仍然是其首部。
在这里插入图片描述
在这里插入图片描述
这里大家应该注意的是这个FLAGS,这个可以跟3次握手一一对应起来,有兴趣的家人们可以直接试试。回头还会分享一下我是咋么抓包的。

IP报文

前面讲的那么多,其实是已经分析出来的东西了。而在这些报文之前还有报文,这个那就是IP报文

在这里插入图片描述
在这里插入图片描述

这里关注首部与原目标即可,还有PROTOCOL。这个非常重要。

以太网封装

当然哦,IP报文之前,还有一笔报文,我们称其为以太网的封装。
具体组成如下:
在这里插入图片描述
在这里插入图片描述

协议总结

在这里插入图片描述
大家可以看到这个是组成发包,而到接受端一样是逐一解包。这里就不一一说明了。

标签:ARP,IP,主机,报文,网络,之行,AP,MAC,Linux
From: https://www.cnblogs.com/samuelwnb/p/17631247.html

相关文章

  • 【Linux技术专题】「必备基础知识」带你仔细梳理一下平时排查问题查询日志的基本操作
    Linux文件与目录管理了解和熟悉Linux系统的文件存储结构、权限设置和命令行工具,将有助于快速定位和解决与日志相关的问题,提高系统管理员和开发人员的工作效率。文件路径:Linux系统的日志文件按规定的目录结构组织。了解不同日志文件的存储位置和命名规则,可更快地找到所需的日志文件......
  • 我的BIOS之行1-Introduction
    前言想对自己在本月所学的东西做一个总结,因而产生了写本系列博客的冲动,由于工作较为繁忙,不能及时更新,敬请原谅CPUIntroduction&Multi-Processor本节博客将简单介绍CPU的情况。1、CPU简介CPU–TheCentralProcessorUnitisthehardwarewithinacomputersystemwhic......
  • 我的BIOS之行2-Keyboard Controller 简介
    KeyboardController简介主板的键盘有一块专用的接口芯片,一般是采用一块单片微处理器8042(现在大多已集成在南桥或SIO里)。它控制整个键盘的工作,包括加电自检、键盘扫描码的缓冲以及与主板的通讯。INT09H是H/W中断,对应IRQ1,INT16H是一个S/W中断。当键盘的一个键被按下时,键盘接......
  • Linux—控制服务和守护进程
    Linux控制服务和守护进程1、守护进程简介1.1为什么会有守护进程?在Linux中,每一个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端就是这些进程的控制终端,当控制终端被关闭时,相应的进程都会自动关闭。但是守护进程却能够突破这种限制......
  • 我的BIOS之行3-UEFI的简介
    UEFI的世界观如果有人对BIOS有兴趣,那么不得不提UEFI了。当然笔者这边只是代码与说明的搬运工,通过UEFI组织的官方文档来带大家了解UEFI。当然您要是觉得笔者就是个DB,想直接翻UEFI的文档,不想看笔者的瞎逼文章的话,请直接点击这里,自行下载看就是了。UEFI的简介文章开头就开始介绍......
  • Linux配置互信
    例如有以下两台机需要做互信192.168.128.128192.168.128.1291、在服务器192.168.128.128生成公钥私钥对[[email protected]]#ssh-keygen-trsaGeneratingpublic/privatersakeypair.Enterfileinwhichtosavethekey(/root/.ssh/id_rsa):Enterpassphrase(emptyf......
  • linux安装Nginx
    1.离线安装rpm-qa|grep"gcc" 或者yumlistinstalled|grep"gcc"查看是否安装第一步:gcc依赖下载镜像地址:官网:https://gcc.gnu.org/releases.html阿里云镜像站:http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/CentOS镜像站点:https://vault.centos.org/7.5.1804/o......
  • Linux之sed命令详解
    sed是一种流编辑器,它是文本处理中非常好的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文......
  • 警惕网络个人技术人员:隐藏代码风险的启示
    在当今数字化时代,我们对网络上个人技术人员的需求日益增加,这使得技术服务成为一项不可或缺的资源。然而,我最近的经历却引发了我对这种服务可靠性的怀疑,特别是当这些个人技术人员没有正式公司背景,缺乏可信的运营保障时。我之前在网络上寻找了一位个人技术人员,他声称能够提供JS解密服......
  • 网工内推 | 中高级网工,有金融网络维护经验,HCIP/CCNP认证优先
    01北京南天软件有限公司招聘岗位:中高级网络工程师职责描述:1、负责大型金融数据中心网络环境的交付、运维;2、负责大型金融数据中心网络设备的验收、安装、配置、管理;3、负责大型金融数据中心网络的应急,并协调原厂商解决设备运行过程中遇到的问题;任职要求:1、本科6年,专科8年以上及以......