基本信息
文件名称:《西普python安全脚本实验》利用Scapy解析TTL字段的值.docx
文件大小:739.13 KB
总页数:8 页
更新时间:2025-03-29
总字数:约2.18千字
文档摘要

利用Scapy解析TTL字段的值

实验指导

实验十利用Scapy解析TTL字段的值

【实验介绍】

1.概述

IP包中的TTL字段由8比特组成,当计算机发送一个IP数据包时,它将TTL值设置为数据包在到达目的地之前所应经过的中继跳的上限值,数据包每经过一个路由设备,TTL值就自减一,如果TTL值到了零,路由器就会丢弃该数据包防止路由无限循环。Linux中的TTL初始值默认为64,Windows中的为128。

2.实验目标

了解TTL值的基本知识,学会使用python编写脚本解析TTL字段的值。

本实验主要要求学生掌握以下几个方面:

(1)了解TTL值的基本知识;

(2)了解TTL值的主要作用;

(3)掌握python编写脚本解析TTL字段的值。

3.实验环境

Windows10操作系统;python3.x。

【实验步骤】

1.打开Windows操作系统

首先,我们需要进入Windows操作系统,界面图如下:

2.验证Python

(1)按住快捷键“Win+R”打开运行窗口,输入cmd,进入命令行窗口。

(2)在命令行窗口输入:python命令,验证是否存在。

3.脚本设计思路

(1)首先,我们要理解TTL字段。TTL字段包含8个bit,有效值0到255。当计算机发送一个IP数据包时,它设置TTL字段为可以到达目的地的最大跳,每个路由设备改变数据包的TTL字段值。

(2)其次,我们建立一个函数testTTL()来嗅探每一个经过的数据包,检查数据包的IP层,抽取IP地址和TTL字段并打印字段在屏幕上。

(3)最后,我们建立一个checkTTL()函数,checkTTL()需要一个IP源地址和对应的TTL值作为输入并输出TTL是否有效的信息。首先,让我们用一个条件与语句快速的消除死人IP地址的数据包(10.0.0.0–10.255.255.255,172.16.0.0–172.31.255.255,和192.168.0.0–192.168.255.255)。为此,我们导入IPy库,为了避免和Scapy的IP类冲突,我们把它作为IPTEST,如果IPTEST(ipsrc).iptype()返回‘PRIVATE‘,我们变忽略检查这个数据包。

我们从相同的源地址收到了不少的独特的数据包,我们只需要检查源地址一次。如果先前我们没看到源地址,让我们构建一个目的地址与源地址相同的IP数据包。此外,我们将制作一个ICMP数据包与目的地址向回应。一旦目标地址回应,我们将TTL值放在字典中,通过IP源地址索引,我们再来检查实际收到的TTL值和原始数据包里面的TTL值。数据包可能会走不同的路线来到达目的地,造成TTL不同,然而,如果跳数的距离相差五跳,我们可以假定,它可能是一个欺骗性的TTL,并打印警告信息在屏幕上。

4.编写准备

(1)我们在编写脚本之前先查看一下本机IP地址。

①按住“Win+R”,打开运行,输入cmd进入命令行窗口,如下如所示:

②在命令行窗口输入ipconfig回车,查看本机IP地址。

5.编写Python脚本

(1)开始着手编写Python脚本。打开Pycharm工具,界面图如下:

(2)我们创建两个函数实现两个功能。第一个功能是利用建立的函数testTTL()来嗅探每一个经过的数据包,检查数据包的IP层,抽取IP地址和TTL字段并打印字段在屏幕上;第二个功能是构建一个目的地址与源地址相同的IP数据包。此外,我们将制作一个ICMP数据包与目的地址向回应。一旦目标地址回应,我们将TTL值放在字典中,通过IP源地址索引,我们再来检查实际收到的TTL值和原始数据包里面的TTL值。

完整代码截图:

运行结果截图:

实验报告

一、实验报告

IP包中的TTL字段由8比特组成,当计算机发送一个IP数据包时,它将TTL值设置为数据包在到达目的地之前所应经过的中继跳的上限值,数据包每经过一个路由设备,TTL值就自减一,如果TTL值到了零,路由器就会丢弃该数据包防止路由无限循环。Linux中的TTL初始值默认为64,Windows中的为128。

1、实验目的

使学生了解TTL值的基本知识,学会使用python编写脚本解析TTL字段的值。

本实验主要要求学生掌握以下几个方面:

(1)了解TTL值的基本知识;

(2)了解TTL值的主要作用;

(3)掌握python编写脚本解析TTL字段的值。

2、实验环境

Windows10操作系统;

Python3.x;

PyCharm编译器。

3、实验准备

了解TTL值的基本知识;了解TTL值的主要作用。

4、实验过程

首先我们安装一个WinPCAP,winpc