首页 > 其他分享 >互联网络の基础

互联网络の基础

时间:2022-10-22 20:34:41浏览次数:66  
标签:ip image 基础 192.168 TCP ICMP 数据 互联网络

协议

![image-20221015210110012](C:\Users\21019\OneDrive - lotosac\文档\Web Security\EnjoyのStudy~\Pictures\image-20221015210110012.png)

流量抓取工具(Wireshark)

1、网卡模式

  • 混杂模式:不管目的主机是否是自己,都接收
  • 非混杂模式:默认情况下,主机网卡处于此模式,不会接收目的非自己的数据

2、界面认识

3、两种过滤器

  • 捕获过滤器:在抓包前先进行过滤(只抓取特定类型的包或者不抓取某些类型的包)
  • 显示过滤器:抓包前抓包后皆可进行过滤,但不会影响抓取的包

4、过滤器

  • 捕获过滤器

    • 语法

      • 类型:host net port
      • 方向:src dst
      • 协议:ether ip udp http frp......
      • 逻辑运算符:&&与 ||或 !非
    • 举例

      • src host 192.168.1.100 && dst port 80

      • host 192.168.1.100 || 192.168.10.99

      • 不抓取广播包

        • ! broadcast
      • 抓取源ip为192.168.1.100或者源ip为192.168.1.0/24,目的TCP端口号在200到1000之间,并且目的位于129.0.0.0/8

        (src host 192.168.1.100 || src net 192.168.1.0/24) && (dst portrange 200-1000 && dst net 129.0.0.0/8
        
    • 显示过滤器

    • 语法

      • 比较操作符:==(eq) != (neq) > (gt) < (lt) >= (ge) <=(le)
      • 逻辑操作符:and(&&) or(||) not
      • ip地址过滤:ip.addr ip.src ip.dst
      • 端口过滤:tcp.port udp.port tcp.dstport tcp.flag.syn tcp.flag.ack
      • 协议过滤:arp ip icmp udp tcp http
    • 举例

      • 显示源ip等于192.168.18.14并且tcp端口为443

        ip.src==192.168.18.14 and tcp.port==443
        
      • 显示源ip不为192.168.18.14且目的ip不为192.168.1.100

        ip.src!=192.168.18.14 and ip.dst!=192.168.1.100
        

ARP协议(地址解析协议)

作用:将一个已知的IP地址解析为MAC地址,从而进行二层数据交互

本身是一个三层协议,但是工作在二层,是一个2.5层协议

一、工作流程

  • ARP请求
  • ARP响应

![image-20221015224128378](C:\Users\21019\OneDrive - lotosac\文档\Web Security\EnjoyのStudy~\Pictures\image-20221015224128378.png)

1、ARP协议报文格式

2、ARP报文格式

3、ARP缓存

  • 目的是为了避免重复的请求查询

  • arp -a	#查询本机arp缓存,一般缓存周期为180s
    
  • arp -s 192.168.1.100 00-0c-2f-56-ce-4d	#将ip与mac进行arp绑定
    arp -d	#清除某个arp绑定
    

二、ARP攻击及欺骗

1、ARP攻击

  • 伪造ARP应答报文,向被攻击方响应虚假的mac地址,造成被攻击主机无法进行网络通信

2、ARP欺骗

  • 欺骗网关
    • 攻击方作为假网关进行网络中间人活动
  • 欺骗主机
    • 攻击方作为进行网络中间人活动

3、实施攻击

一、环境

1、kali linux

  • 攻击工具:arpspoof

2、win10

  • 被攻击主机

二、kali配置

kali linux基于debian linux系统,采用deb包管理方式,使用apt源方式进行安装

echo 1 >> /procsys/net/ipv4/ip_forward	#将”1“追加到后面这个文件中,开启ip转发功能,">" 表示覆盖加,">>"表示追加。	”0“表示关闭该功能

apt-get install dsniff	#安装arp攻击工具,arpspoof工具集成在其中
arpspoof -i eth0 -t 192.168.10.11 192.168.10.2	#攻击命令

driftnet 	#嗅探被攻击者网页浏览中的图像内容

ICMP协议(网络层)

1、理解ICMP协议

2、理解ICMP重定向

3、会使用wireshark分析ICMP重定向流量

实验

一、ICMP基本概念

1、ICMP协议

  • internet控制报文协议,用于在ip主机、路由器间传递控制消息,控制消息指网络通不通,主机是否可达,路由器是否可用等
  • 网络层协议,封装在网络层与传输层之间

![image-20221019232142585](C:\Users\21019\OneDrive - lotosac\文档\Web Security\EnjoyのStudy~\Pictures\image-20221019232142585.png)

2、ICMP报文格式

  • 类型(type)

  • 代码(code)

    • (8 0):请求报文
    • (0 0):回显应答(比较正常的应答)
    • (11 0):请求超时(传输期间生存时间为0)
    • (3 1):目标主机不可达
    • (3 3):目标端口不可达
    • (3 2):目标协议不可达
    • 类型13 14报文 时间戳请求和应答
    • 共有0/3~18 18种类型
    • (5 0) 重定向(网络重定向)
    • (5 1) 重定向(主机重定向)

![image-20221020202401616](C:\Users\21019\OneDrive - lotosac\文档\Web Security\EnjoyのStudy~\Pictures\image-20221020202401616.png)

二、ICMP重定向

在某些特定情况下,路由器检测到主机使用非优化路由的时候,会向主机发送一个ICMP重定向报文,使主机的路由改变,安全问题:ICMP重定向攻击

![image-20221020205705008](C:\Users\21019\OneDrive - lotosac\文档\Web Security\EnjoyのStudy~\Pictures\image-20221020205705008.png)

![image-20221020205515288](C:\Users\21019\OneDrive - lotosac\文档\Web Security\EnjoyのStudy~\Pictures\image-20221020205515288.png)

1、ICMP重定向攻击(重定向网关)

  • 使用ettercapt工具

  • 使用netwox

    netwox 86 -g 192.168.10.2	#86为ICMP重定向攻击模块编号,后面为重定向目的网关地址
    

传输层协议

TCP协议

回顾内容

  • 传输层功能:定义应用层协议数据报文的端口号,流量控制
  • 对原始数据进行分段处理

传输层所提供的服务

  1. 传输连接服务
  2. 数据传输服务:流量控制、差错控制、序列控制

一、传输层的TCP协议

1、面向连接的协议(TCP)

  • 要求数据在传输前必须建立连接,传输完成后,必须释放连接
  • 仅支持单播传输:在两个终端间建立的点对点连接

2、UDP(用户数据报协议)

二、TCP报文

![image-20221020215304764](C:\Users\21019\OneDrive - lotosac\文档\Web Security\EnjoyのStudy~\Pictures\image-20221020215304764.png)

源端口和目的端口字段

  • TCP源端口(Source Port):源计算机上的应用程序的端口号,占 16 位。
  • TCP目的端口(Destination Port):目标计算机的应用程序端口号,占 16 位。

序列号字段

CP序列号(Sequence Number):占 32 位。它表示本报文段所发送数据的第一个字节的编号。在 TCP 连接中,所传送的字节流的每一个字节都会按顺序编号。当SYN标记不为1时,这是当前数据分段第一个字母的序列号;如果SYN的值是1时,这个字段的值就是初始序列值(ISN),用于对序列号进行同步。这时,第一个字节的序列号比这个字段的值大1,也就是ISN加1。

确认号字段

TCP 确认号(Acknowledgment Number,ACK Number):占 32 位。它表示接收方期望收到发送方下一个报文段的第一个字节数据的编号。其值是接收计算机即将接收到的下一个序列号,也就是下一个接收到的字节的序列号加1。

数据偏移字段

TCP 首部长度(Header Length):数据偏移是指数据段中的“数据”部分起始处距离 TCP 数据段起始处的字节偏移量,占 4 位。其实这里的“数据偏移”也是在确定 TCP 数据段头部分的长度,告诉接收端的应用程序,数据从何处开始。

保留字段

保留(Reserved):占 4 位。为 TCP 将来的发展预留空间,目前必须全部为 0。

标志位字段

  • CWR(Congestion Window Reduce):拥塞窗口减少标志,用来表明它接收到了设置 ECE 标志的 TCP 包。并且,发送方收到消息之后,通过减小发送窗口的大小来降低发送速率。
  • ECE(ECN Echo):用来在 TCP 三次握手时表明一个 TCP 端是具备 ECN 功能的。在数据传输过程中,它也用来表明接收到的 TCP 包的 IP 头部的 ECN 被设置为 11,即网络线路拥堵。
  • URG(Urgent):表示本报文段中发送的数据是否包含紧急数据。URG=1 时表示有紧急数据。当 URG=1 时,后面的紧急指针字段才有效。
  • ACK:表示前面的确认号字段是否有效。ACK=1 时表示有效。只有当 ACK=1 时,前面的确认号字段才有效。TCP 规定,连接建立后,ACK 必须为 1。
  • PSH(Push):告诉对方收到该报文段后是否立即把数据推送给上层。如果值为 1,表示应当立即把数据提交给上层,而不是缓存起来。
  • RST:表示是否重置连接。如果 RST=1,说明 TCP 连接出现了严重错误(如主机崩溃),必须释放连接,然后再重新建立连接。
  • SYN:在建立连接时使用,用来同步序号。当 SYN=1,ACK=0 时,表示这是一个请求建立连接的报文段;当 SYN=1,ACK=1 时,表示对方同意 建立连接。SYN=1 时,说明这是一个请求建立连接或同意建立连接的报文。只有在前两次握手中 SYN 才为 1。
  • FIN:标记数据是否发送完毕。如果 FIN=1,表示数据已经发送完成,可以释放连接。

窗口大小字段

窗口大小(Window Size):占 16 位。它表示从 Ack Number 开始还可以接收多少字节的数据量,也表示当前接收端的接收窗口还有多少剩余空间。该字段可以用于 TCP 的流量控制。

TCP 校验和字段

校验位(TCP Checksum):占 16 位。它用于确认传输的数据是否有损坏。发送端基于数据内容校验生成一个数值,接收端根据接收的数据校验生成一个值。两个值必须相同,才能证明数据是有效的。如果两个值不同,则丢掉这个数据包。Checksum 是根据伪头 + TCP 头 + TCP 数据三部分进行计算的。

紧急指针字段

紧急指针(Urgent Pointer):仅当前面的 URG 控制位为 1 时才有意义。它指出本数据段中为紧急数据的字节数,占 16 位。当所有紧急数据处理完后,TCP 就会告诉应用程序恢复到正常操作。即使当前窗口大小为 0,也是可以发送紧急数据的,因为紧急数据无须缓存。

可选项字段

选项(Option):长度不定,但长度必须是 32bits 的整数倍。

三次握手过程:

![image-20221020223717493](C:\Users\21019\OneDrive - lotosac\文档\Web Security\EnjoyのStudy~\Pictures\image-20221020223717493.png)

标签:ip,image,基础,192.168,TCP,ICMP,数据,互联网络
From: https://www.cnblogs.com/Bssn007/p/16817225.html

相关文章

  • java基础---报错为找不到或无法加载主类 HelloWorld1
    错误:找不到或无法加载主类HelloWorld1一、报错描述错误描述:在idea软件中编写HelloWorld1.java文件并运行成功。 packagecom.dysunlin.chapter01;/***@author......
  • pytho基础
    pytho基础编译型与解释型?编译型:一次性编译成二进制再执行,执行效率高,但不能跨平台,开发效率低解释型:逐行解释成二进制再执行,可以跨平台,开发效率高,但执行效率低......
  • MySQL基础1【安装-运算符-排序分页】尚硅谷
    第00章_介绍大纲第00章_写在前面讲师:尚硅谷-宋红康(江湖人称:康师傅)官网:http://www.atguigu.comhttp://www.atguigu.com/)一、MySQL数据库基础篇大纲MySQL数据库基础篇......
  • html基础标签
      标题标签  h1-h6  字体逐渐变小双标签把文本放在标签内  (每一个标题标签独占一行)  效果注释 ctrl+?/键单行注释直接用 ctrl+?/键中间写注......
  • Material Design 基础 - Elevation(标高)
    1.Elevation(标高)Elevation(标高)是沿z轴的两个Surface之间的相对距离。2.测量标高MaterialDesign中的标高为Materialsurfaces之间的距离。从一个Materialsurface的......
  • Material Design 基础 - Component behavior
    前言本页描述组件在布局中的行为,包括与网格以及断点的关系。Position术语UI元素在每个分界点范围内的行为方式不同。UI元素、组件和表面在网格中的位置用以下术语描述。......
  • Material Design基础 - Pixel Density
    像素密度(PixelDensity)一英寸屏幕上存在的像素数称为像素密度。屏幕像素密度和分辨率因平台而异。屏幕密度变化高密度屏幕的每英寸像素数比低密度屏幕的多。因此,相同......
  • Material Design基础 - 响应式布局网格
    响应式布局网格MaterialDesign的响应式布局网格可根据屏幕大小和方向进行调整,确保布局的一致性。Columns,gutters,andmargins响应式布局网格由三个元素组成:Columns,......
  • Material Design基础 - spacing methods
    spacingmethodsspacingmethods使用基线网格、关键线、填充和增量间距来调整比率、容器和触摸目标。基准网格8dp网格所有组件都与移动设备、平板电脑和台式机的8dp方......
  • Material Design基础 - Surfaces
    MaterialSurfacesMaterial设计具有三个维度的品质,这些品质反映在其对表面(Surfaces)、深度和阴影的使用中。Materialenvironment在真实世界中,物体可以堆叠或相互接触,......