信息安全实验四:Ip包监视程序实现

一、实验目的及要求

学生在熟悉网络数据通信原理以及TCP/IP协议结构原理的基础上,运用套接字编程实现的网络封包监视技术,有效地探测在网络上传输的数据包信息,通过对这些信息的分析利用是有助于网络安全维护的。要求:

 1.熟悉网络数据通信原理以及TCP/IP协议结构原理

2.掌握Ip包发送和接收过程。

3.在所学知识的基础上自己确定实验方案,画出流程图,独立编程,实现网络监听程序。

4.对获取的数据包进行简单分析。

二、实验内容

将网卡的工作模式设置为混合模式。获取局域网内的某台(多台)主机的MAC地址,捕获到所有经过网卡的数据包,并可从中分析出协议、IP源地址、IP目标地址、TCP源端口号、TCP目标端口号以及数据包长度等信息。

三、实验环境

运行windows的PC机,具有JAVA、VC(windows)等语言编译环境。

 

四、实验步骤及结果分析

1. 下载安装WinPcap,WinPcap可以为应用程序提供访问网络底层的能力。它用于windows系统下的直接的网络编程。

2. 下载Jpcap.jar包,用于抓包实验运行,jpcap实际上并非一个真正去实现对数据链路层的控制,而是一个中间件,JPCAP调用winpcap/libpcap,而给JAVA语言提供一个公共的接口,从而实现了平台无关性

3. 根据Jpcap.jar包的相关类与方法进行实验编写

绑定网络设备

NetworkInterface[] devices = JpcapCaptor.getDeviceList();
for (NetworkInterface n : devices) {
    System.
out.println(n.name + "   |   " + n.description);
}

进行抓包

int i = 0;

while (i < 10) {

    Packet packet = jpcap.getPacket();

    if (packet instanceof IPPacket && ((IPPacket) packet).version == 4) {

        i++;

        IPPacket ip = (IPPacket) packet;//强转



        System.out.println("版本:IPv4");

        System.out.println("优先权:" + ip.priority);

        System.out.println("区分服务:最大的吞吐量: " + ip.t_flag);

        System.out.println("区分服务:最高的可靠性:" + ip.r_flag);

        System.out.println("长度:" + ip.length);

        System.out.println("标识:" + ip.ident);

        System.out.println("DF:Don't Fragment: " + ip.dont_frag);

        System.out.println("NF:Nore Fragment: " + ip.more_frag);

        System.out.println("片偏移:" + ip.offset);

        System.out.println("生存时间:" + ip.hop_limit);



        String protocol = "";

        switch (new Integer(ip.protocol)) {

            case 1:

                protocol = "ICMP";

                break;

            case 2:

                protocol = "IGMP";

                break;

            case 6:

                protocol = "TCP";

                break;

            case 8:

                protocol = "EGP";

                break;

            case 9:

                protocol = "IGP";

                break;

            case 17:

                protocol = "UDP";

                break;

            case 41:

                protocol = "IPv6";

                break;

            case 89:

                protocol = "OSPF";

                break;

            default:

                break;

        }

        System.out.println("协议:" + protocol);

        System.out.println("IP " + ip.src_ip.getHostAddress());

        System.out.println("目的IP " + ip.dst_ip.getHostAddress());

        System.out.println("源主机名: " + ip.src_ip);

        System.out.println("目的主机名: " + ip.dst_ip);

        System.out.println("----------------------------------------------");

    }

}

4.实验结果

 

实验总结:通过本次实验,我了解了网络数据通信原理,掌握了掌握Ip包发送和接收过程,并通过Jpcap.jar包调用winpacp实现访问网络底层的能力,在程序中引用jpcap类中的方法实现了对IP包的监视和分析

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、实验目的 通过实验深入理解防火墙的功能和工作原理 熟悉天网防火墙个人版的配置和使用 二、实验原理 防火墙的工作原理 防火墙能增强机构内部网络的安全性。防火墙系统决定了哪些内部服务可以被 外界访问;外界的哪些人可以访问内部的服务以及哪些外部服务可以被内部 人员访问。防火墙必须只允许授权的数据通过,而且防火墙本身也必须能够 免于渗透。 两种防火墙技术的对比 过滤防火墙:将防火墙放置于内外网络的边界;价格较低,性能开销小,处 理速度较快;定义复杂,容易出现因配置不当带来问题,允许数据直接通 过,容易造成数据驱动式攻击的潜在危险。 应用级网关:内置了专门为了提高安全性而编制的Proxy应用程序,能够透彻 地理解相关服务的命令,对来往的数据进行安全化处理,速度较慢,不太 适用于高速网(ATM或千兆位以太网等)之间的应用 。 防火墙体系结构 屏蔽主机防火墙体系结构:在该结构中,分组过滤路由器或防火墙与 Internet 相连,同时一个堡垒机安装在内部网络,通过在分组过滤路由器或防火墙上 过滤规则的设置,使堡垒机成为 Internet 上其它节点所能到达的唯一节点,这确保了内部网络不受未授权外部用户的 攻击。 双重宿主主机体系结构:围绕双重宿主主机构筑。双重宿主主机至少有两个网 络接口。这样的主机可以充当与这些接口相连的网络之间的路由器;它能够 从一个网络到另外一个网络发送IP数据。但是外部网络与内部网络不能直 接通信,它们之间的通信必须经过双重宿主主机的过滤和控制。 被屏蔽子网体系结构:添加额外的安全层到被屏蔽主机体系结构,即通过添加 周边网络更进一步的把内部网络和外部网络(通常是Internet)隔离开。被 屏蔽子网体系结构的最简单的形式为,两个屏蔽路由器,每一个都连接到周 边网。一个位于周边网与内部网络之间,另一个位于周边网与外部网络(通 常为Internet)之间。 实验内容和步骤 (1)简述天网防火墙的工作原理 天网防火墙的工作原理: 在于监视并过滤网络上流入流出的IP,拒绝发送可疑的。基于协议特定的标准 ,路由器在其端口能够区分和限制的能力叫过滤。由于Internet 与Intranet 的连接多数都要使用路由器,所以Router成为内外通信的必经端口,Router的厂商在Ro uter上加入IP 过滤功能,过滤路由器也可以称作过滤路由器或筛选路由器。防火墙常常就是这样一 个具备过滤功能的简单路由器,这种Firewall应该是足够安全的,但前提是配置合理 。然而一个过滤规则是否完全严密及必要是很难判定的,因而在安全要求较高的场合 ,通常还配合使用其它的技术来加强安全性。   路由器逐一审查数据以判定它是否与其它过滤规则相匹配。每个有两个部分 :数据部分和头。过滤规则以用于IP顺行处理的头信息为基础,不理会内的正文 信息内容。头信息括:IP 源地址、IP目的地址、封装协议(TCP、UDP、或IP Tunnel)、TCP/UDP源端口、ICMP类型、输入接口和输出接口。如果找到一个匹配 ,且规则允许这,这一则根据路由表中的信息前行。如果找到一个匹配,且规则拒 绝此,这一则被舍弃。如果无匹配规则,一个用户配置的缺省参数将决定此是前 行还是被舍弃。 (2)实验过程 步骤: 1. 运行天网防火墙设置向导,根据向导进行基本设置。 (2)启动天网防火墙,运用它拦截一些程序的网络连接请求,如启动Microsoft Baseline Security Analyzer,则天网防火墙会弹出报警窗口。此时选中"该程序以后都按照这次的操作运行 ",允许MBSA对网络的访问。 (3)打开应用程序规则窗口,可设置MBSA的安全规则,如使其只可以通过TCP协议发送 信息,并制定协议只可使用端口21和8080等。了解应用程序规则设置方法。 (4)使用IP规则配置,可对主机中每一个发送和传输的数据进行控制;ping局域网内 机器,观察能否收到reply;修改IP规则配置,将"允许自己用ping命令探测其他机器"改 为禁止并保存,再次ping局域网内同一台机器,观察能否收到reply。 改变不同IP规则引起的结果: 规则是一系列的比较条件和一个对数据的动作,即根据数据的每一个部分来与设置 的条件比较,当符合条件时,就可以确定对该放行或者阻挡。通过合理设置规则就可 以把有害的数据挡在机器之外。 (5)将"允许自己用ping命令探测其他机器"改回为允许,但将此规则下移到"防御ICMP 攻击"规则之后,再次ping 局域网内的同一台机器,观察能否收到reply。 (6)添加一条禁止邻居同学主机连接本地计算机FTP服务器的安全规则;邻居同学发起 FTP请求连接,观察结果。 (7)观察应用程序使用网络
(本书由4部分组成,需下载完4个文件之后,放在同一文件目录下才能正常解压) 基本信息   作者:(美国)(William R.Stanek)斯坦里克 译者:贾洪峰   出版社:清华大学出版社   页码:583 页   出版日期:2009年   ISBN:9787302192671   装帧:平装   开本:16   丛书名:微软技术丛书   定价:69.00 编辑本段 作者简介   William R.Stanek微软MVP(最有价值专家),拥有20多年系统管理和高级编程的经验。他是屡获嘉奖的作家,著作多达70部,其中括Microsoft Windows Server 2008 InsideOut。他也是“管理员必备指南”系列丛书的编辑。 编辑本段 编辑推荐   《SQL Server 2008管理员必备指南》教你全面掌握SQL Server 2008的必备指南!   这本实用指南讲述了SQL Server 2008日常管理的工作。使用快速参考表、指令和列表聚焦核心的支持与维护任务。无论您是学生还是数据库领域的从业人员,都可从《SQL Server 2008管理员必备指南》获得解决问题和完成工作所需的信息。   《SQL Server 2008管理员必备指南》重要主题:   规划、部署和配置SQL Server 2008   管理服务器,管理外围安全、访问及网络配置   导入、导出、转换和复制数据   使用SQL Server Management Studio执行主要的管理任务   操作架构、表、索引和视图   进行自动化维护和实现基于策略的管理   监视服务器活动并优化性能   管理日志传送和数据库镜像   执行备份和还原   《微软技术丛书》括以下几个子系列   从入门到精通   适舍新手程序员的实用教程   侧重于基础技术和特征   提供范例文件   技术内幕   权威必备的参考大全   含丰富、实用的范例代码   帮助读者熟练掌握微软技术   高级编程   侧重于高级特性、技术和解决问题   含丰富适用性强的范倒代码   帮助读者精通微软技术   精通&宝典   着重剖析应用技巧以帮助提高工作效率   主题括办公应用和开发工具   认证考试教材   完全根据考试要求来阐述每一个知识点   提供可供搜索的Ebook(英文版)和训练题   提供实际场景案例分析和故障诊断实验   SQL Server专家的呕心力作,数据库管理员的实战宝典,全面、深入地剖析SQL Server2008新特性,结构独特,实例丰富,操作性强。 编辑本段 目录   第Ⅰ部分 SQL Server 2008管理基础   第1章 SQL Server 2008管理概况 3   1.1 SQL Server 2008与硬件 4   1.2 SQL Server 2008的版本 6   1.3 SQL Server和Windows 8   1.3.1 SQL Server的服务 8   1.3.2 SQL Server登录和身份验证 9   1.3.3 SQL Server的服务帐户 10   1.4 使用图形化管理工具 11   1.5 使用命令行工具 14   1.5.1 BCP 15   1.5.2 SQLCMD 15   1.5.3 其他命令行工具 17   1.6 使用SQL Server PowerShell 18   1.6.1 运行和使用cmdlet 18   1.6.2 运行和使用SQL Server PowerShell 19   1.6.3 使用SQL Server cmdlet 20   第2章 部署SQL Server 2008 22   2.1 SQL Server集成角色 22   2.1.1 使用SQL Server集成服务 22   2.1.2 使用SQL Server 2008的关系数据仓库 23   2.1.3 使用SQL Server 2008的多维数据库和数据挖掘 25   2.1.4 使用SQL Server 2008管理报表 26   2.2 规划SQL Server 2008的部署 27   2.2.1 建立服务器的性能系统 27   2.2.2 配置I/O子系统 28   2.2.3 确保可用性和可伸缩性 30   2.2.4 确保连接性和数据访问 31   2.2.5 管理SQL Server配置和安全性 32   2.3 运行安装程序和修改SQL Server安装 33   2.3.1 创建新的SQL Server实例 33   2.3.2 添加组件和实例 44   2.3.3 修复SQL Server 2008安装 44   2.3.4 升级SQL Server 2008版本 45   2.3.5 卸载SQL Server 45   第3章 管理外围安全、访问以及网络配置 46   3.1 管理SQL Server的组件功能 46   3.2 配置SQL Server服务 49   3.2.1 管理服务配置 50   3.2.2 管理服务的状态和启动模式 53   3.2.3 设置启动的服务帐户 54   3.2.4 配置文件流 56   3.2.5 配置服务转储目录、错误报告和客户反馈报告 58   3.3 管理网络和SQL本地客户端配置 59   3.3.1 管理连接配置 60   3.3.2 配置Shared Memory网络配置 62   3.3.3 配置Named Pipes网络配置 62   3.3.4 配置TCP/IP网络配置 62   3.3.5 配置本地客户端配置的安全性 65   3.3.6 配置本地客户端协议的顺序 65   3.3.7 设置共享内存的本地客户端配置 66   3.3.8 设置命名管道的本地客户端配置 66   3.3.9 设置TCP/IP本地客户端配置 67   第4章 配置和优化SQL Server 2008 68   4.1 访问SQL Server的配置数据 69   4.1.1 使用系统目录和目录视图 70   4.1.2 使用系统存储过程 75   4.2 管理SQL Server配置选项的技巧 82   4.2.1 设置配置选项 82   4.2.2 使用SET选项 83   4.2.3 使用服务器选项 85   4.2.4 使用数据库选项 86   4.2.5 管理数据库的兼容性 87   4.3 通过存储过程配置SQL Server 88   4.3.1 使用SQL Server Management Studio查询 88   4.3.2 执行查询和改变设置 90   4.3.3 检查和设置配置参数 91   4.3.4 使用ALTER DATABASE改变设置 95   第Ⅱ部分 SQL Server 2008的系统管理   第5章 管理企业 101   5.1 使用SQL Server Management Studio 101   5.1.1 开始使用SQL Server Management Studio 101   5.1.2 连接到特定的服务器实例 103   5.1.3 连接到特定数据库 103   5.2 管理SQL Server组 104   5.2.1 介绍SQL Server组 104   5.2.2 创建服务器组 106   5.2.3 删除服务器组 106   5.2.4 编辑和移动服务器组 107   5.2.5 添加SQL Server到一个组 107   5.3 管理服务器 107   5.3.1 注册已连接服务器 108   5.3.2 在“已注册的服务器”视图中注册新的服务器 109   5.3.3 注册以前注册的SQL Server 2000服务器 109   5.3.4 更新本地服务器注册 110   5.3.5 将服务器组和注册信息复制到另一台计算机 110   5.3.6 编辑注册属性 112   5.3.7 连接到服务器 113   5.3.8 从服务器断开连接 113   5.3.9 移动服务器到新的组 113   5.3.10 删除服务器注册 113   5.4 启动、停止和配置SQL Server代理 114   5.5 启动、停止和配置Microsoft分布式事务处理协调器 114   5.6 管理SQL Server启动 115   5.6.1 启用或防止SQL Server的自动启动 115   5.6.2 设置数据库引擎的启动参数 116   5.6.3 从命令行管理服务 118   5.6.4 管理SQL Server命令行的可执行文件 119   5.7 管理服务器活动 120   5.7.1 检查进程信息 120   5.7.2 跟踪资源等待和阻塞 122   5.7.3 检测修复死锁和阻塞连接 125   5.7.4 在SQL Server中跟踪命令的执行 126   5.7.5 终止服务器进程 127   第6章 使用SQL Server Management Studio配置SQL Server 128   6.1 使用SQL Server Management Studio管理配置 128   6.2 确定系统和服务器信息 130   6.3 配置身份验证和审核 130   6.3.1 设置身份验证模式 131   6.3.2 设置审核级别 132   6.3.3 启用或禁用C2审核登录 132   6.3.4 启用或禁用“符合公共标准” 133   6.4 调节内存的使用 133   6.4.1 动态配置内存 135   6.4.2 使用固定内存 136   6.4.3 启用AWE内存的支持 136   6.4.4 为索引优化内存 137   6.4.5 为查询分配内存 138   6.5 配置处理器和并行处理 138   6.5.1 优化CPU的使用 139   6.5.2 设置并行处理 141   6.6 配置线程、优先级和纤程 142   6.7 配置用户和远程连接 143   6.7.1 设置最大用户连接 144   6.7.2 设置默认连接选项 145   6.7.3 配置远程服务器连接 146   6.8 管理服务器设置 147   6.8.1 启用或禁用文件流 148   6.8.2 设置SQL Server的默认语言 148   6.8.3 允许和禁止嵌套触发器 149   6.8.4 控制查询的执行 149   6.8.5 配置2000年的支持 150   6.9 管理数据库设置 150   6.9.1 设置索引填充 151   6.9.2 配置备份和还原超时选项 152   6.9.3 配置备份和还原保持选项 153   6.9.4 用检查点清空缓存 153   6.9.5 压缩备份媒体 153   6.10 添加和删除活动目录的信息 154   6.11 修复配置故障 154   6.11.1 从损坏的配置中恢复 154   6.11.2 更改排序规则和重新生成master数据库 155   第7章 数据库管理的核心任务 157   7.1 数据库文件和日志 157   7.2 数据库管理基础 161   7.2.1 在SQL Server Management Studio中查看数据库的信息 161   7.2.2 使用T-SQL查看数据库信息 163   7.2.3 检查系统和示例数据库 164   7.2.4 检查数据库对象 164   7.3 创建数据库 166   7.3.1 在SQL Server Management Studio中创建数据库 167   7.3.2 使用T-SQL创建数据库 170   7.4 修改数据库及其选项 171   7.4.1 在SQL Server Management Studio中设置数据库选项 171   7.4.2 使用ALTER DATABASE修改数据库 172   7.4.3 配置自动选项 176   7.4.4 在数据库级别上控制ASNI的兼容性 177   7.4.5 配置参数化 179   7.4.6 配置游标选项 181   7.4.7 控制用户访问和数据库状态 182   7.4.8 设置联机、脱机或紧急模式 183   7.4.9 管理跨数据库链接和外部访问选项 183   7.4.10 配置恢复、日志记录和磁盘I/O错误检查选项 184   7.4.11 查看、更改和覆盖数据库选项 186   7.5 管理数据库和日志大小 186   7.5.1 配置SQL Server自动管理文件大小 186   7.5.2 手动扩展数据库和日志 187   7.5.3 手动压缩和收缩数据库 187   7.6 操作数据库 191   7.6.1 重命名数据库 191   7.6.2 清除和删除数据库 192   7.6.3 附加和分离数据库 193   7.7 提示和技巧 195   7.7.1 复制和移动数据库 195   7.7.2 移动数据库 199   7.7.3 移动tempdb和改变tempdb的大小 200   7.7.4 创建辅助数据和日志文件 201   7.7.5 防止事务日志错误 201   7.7.6 防止文件组充满的错误 202   7.7.7 创建新的数据库模板 202   7.7.8 配置数据库加密 202   第8章 全文搜索的管理 204   8.1 全文目录和索引 204   8.2 管理全文目录 207   8.2.1 查看目录属性 207   8.2.2 创建目录 209   8.2.3 启用表和视图的索引 210   8.2.4 编辑表和视图的索引 212   8.2.5 从表或视图中禁用和删除全文索引 212   8.2.6 填充全文目录 213   8.2.7 重新生成当前目录 216   8.2.8 清除旧的目录 217   8.2.9 删除目录 217   8.3 管理全文搜索 218   8.3.1 设置全文搜索的默认语言 218   8.3.2 使用非索引字表 219   8.3.3 创建非索引字表 220   8.3.4 管理非索引字表 222   8.3.5 创建和使用同义词库文件 223   第9章 管理SQL Server 2008的安全性 227   9.1 SQL Server 2008安全性概况 227   9.1.1 使用安全主体和安全对象 228   9.1.2 理解安全对象的权限 229   9.1.3 检查授予安全对象的权限 231   9.2 SQL Server 2008的身份验证模式 234   9.2.1 Windows身份验证 234   9.2.2 混合模式和SQL Server登录 234   9.3 特殊目的的登录和用户 235   9.3.1 使用管理员组 235   9.3.2 使用管理员用户帐户 236   9.3.3 使用sa登录 236   9.3.4 使用NETWORK SERVICE和SYSTEM登录 236   9.3.5 使用guest用户 236   9.3.6 使用dbo用户 237   9.3.7 使用sys和INFORMATION_SCHEMA用户 238   9.4 权限 238   9.4.1 对象权限 238   9.4.2 语句权限 243   9.4.3 隐含权限 243   9.5 角色 243   9.5.1 服务器角色 244   9.5.2 数据库角色 245   9.6 管理服务器登录 247   9.6.1 查看和编辑现有的登录 247   9.6.2 创建登录 249   9.6.3 用T-SQL编辑登录 251   9.6.4 允许或拒绝访问服务器 252   9.6.5 启用、禁用和解锁登录 253   9.6.6 删除登录 254   9.6.7 更改密码 254   9.7 配置服务器角色 255   9.7.1 为登录分配角色 255   9.7.2 为多个登录分配角色 256   9.7.3 撤销服务器登录的访问权限和授予的角色 257   9.8 控制数据库访问和管理 258   9.8.1 为登录分配访问权限和角色 258   9.8.2 为多个登录分配角色 259   9.8.3 创建标准的数据库角色 260   9.8.4 创建应用程序数据库角色 261   9.8.5 删除数据库用户的角色成员关系 262   9.8.6 删除用户定义的角色 262   9.8.7 管理访问和角色的Transact-SQL命令 263   9.9 管理数据库权限 264   9.9.1 为语句分配数据库权限 264   9.9.2 登录的对象权限 269   9.9.3 多个登录的对象权限 270   第Ⅲ部分 SQL Server 2008的数据管理   第10章 操作架构、表、索引和视图 275   10.1 处理架构 275   10.1.1 创建架构 276   10.1.2 修改架构 278   10.1.3 将对象移动到新架构 279   10.1.4 删除架构 280   10.2 表的概况 280   10.3 表的实质 281   10.3.1 了解数据页 281   10.3.2 了解区 282   10.3.3 了解表的分区 283   10.4 处理表 283   10.4.1 创建表 284   10.4.2 修改现有的表 288   10.4.3 查看表的行和大小的信息 290   10.4.4 显示表属性和权限 291   10.4.5 显示表中当前的值 291   10.4.6 复制表 292   10.4.7 重命名和删除表 292   10.4.8 在一个表中添加和删除列 293   10.4.9 编写表脚本 294   10.5 管理表的值 294   10.5.1 使用原始数据类型 294   10.5.2 使用固定长度、可变长度   和最大长度的字段 298   10.5.3 使用用户定义的数据类型 299   10.5.4 允许和不允许Null值 301   10.5.5 使用默认值 302   10.5.6 使用稀疏列 302   10.5.7 使用标识和全局唯一标识符 303   10.5.8 使用用户定义的表类型 304   10.6 使用视图 307   10.6.1 操作视图 307   10.6.2 创建视图 308   10.6.3 修改视图 311   10.6.4 使用可更新视图 312   10.6.5 管理视图 312   10.7 创建和管理索引 313   10.7.1 了解索引 313   10.7.2 使用聚集索引 315   10.7.3 使用非聚集索引 315   10.7.4 使用XML索引 315   10.7.5 使用筛选索引 316   10.7.6 确定应当索引哪些列 317   10.7.7 索引计算列和视图 318   10.7.8 查看索引属性 318   10.7.9 创建索引 320   10.7.10 管理索引 324   10.7.11 使用数据库引擎优化顾问 326   10.8 列约束和规则 329   10.8.1 使用约束 329   10.8.2 使用规则 333   10.9 创建已分区表和索引 334   10.9.1 创建分区函数 334   10.9.2 创建分区方案 335   10.9.3 创建分区 335   10.9.4 查看和管理分区 337   10.10 压缩表、索引和分区 338   10.10.1 使用行和页压缩 338   10.10.2 设置或改变压缩设置 339   第11章 数据的导入和导出及转换 341   11.1 使用集成服务 341   11.1.1 集成服务简介 341   11.1.2 集成服务工具 342   11.1.3 集成服务和数据提供程序 344   11.1.4 集成服务 344   11.2 使用SQL Server导入和导出向导创建 345   11.2.1 阶段1:数据源和目标的配置 346   11.2.2 阶段2:复制或查询 353   11.2.3 阶段3:格式化和转换 357   11.2.4 阶段4:保存和执行 360   11.3 了解BCP 363   11.3.1 BCP 基础 363   11.3.2 BCP 语法 363   11.3.3 BCP 权限和模式 366   11.3.4 使用BCP导入数据 366   11.3.5 使用BCP导出数据 368   11.4 BCP脚本 368   11.5 使用BULK INSERT 命令 369   第12章 链接服务器与分布式事务 371   12.1 使用链接服务器和分布式数据 371   12.1.1 使用分布式查询 372   12.1.2 使用分布式事务 374   12.1.3 运行分布式事务处理协调器服务 375   12.2 管理链接服务器 375   12.2.1 添加链接服务器 376   12.2.2 配置链接服务器的安全性 379   12.2.3 设置远程和链接服务器服务器选项 381   12.2.4 删除链接服务器 382   第13章 实施快照、合并和事务复制 384   13.1 复制的概况 384   13.1.1 复制组件 385   13.1.2 复制代理和作业 386   13.1.3 复制的类型 387   13.2 复制的计划 389   13.2.1 复制模式 389   13.2.2 复制的预备任务 390   13.3 分发服务器的管理 392   13.3.1 设置新的分发服务器 392   13.3.2 更新分发服务器 396   13.3.3 创建分发数据库 398   13.3.4 启用和更新发布服务器 399   13.3.5 启用发布数据库 399   13.3.6 删除分发数据库 400   13.3.7 禁用发布和分发 400   13.4 创建和管理发布 401   13.4.1 创建发布 401   13.4.2 查看和更新发布 407   13.4.3 设置发布属性 408   13.4.4 设置代理安全性和进程帐户 409   13.4.5 控制订阅访问发布 410   13.4.6 为发布创建脚本 410   13.4.7 删除发布 411   13.5 订阅发布 411   13.5.1 订阅的实质 411   13.5.2 创建订阅 412   13.5.3 查看订阅属性 415   13.5.4 更新、维护和删除订阅 416   13.5.5 验证订阅 416   13.5.6 重新初始化订阅 417   第Ⅳ部分 SQL Server 2008的优化与维护   第14章 分析和监视SQL Server 2008 421   14.1 监视服务器的性能和活动 421   14.1.1 监视SQL Server的原因 421   14.1.2 为监视做准备 422   14.1.3 监视工具和资源 423   14.2 使用复制监视器 425   14.2.1 启动并使用复制监视器 425   14.2.2 添加发布服务器和发布服务器组 426   14.3 使用事件日志 427   14.3.1 检查应用程序日志 428   14.3.2 检查SQL Server事件日志 430   14.3.3 检查SQL Server代理事件日志 432   14.4 监视SQL Server的性能 433   14.4.1 选择要监视的计数器 433   14.4.2 创建性能日志 435   14.4.3 查看数据收集器报告 439   14.4.4 配置性能计数器警报 440   14.5 配置管理数据仓库 441   14.5.1 了解管理数据仓库 441   14.5.2 创建管理数据仓库 441   14.5.3 设置数据收集 442   14.5.4 管理收集和生成报表 442   14.6 使用事件探查器解决性能问题 442   14.6.1 使用事件探查器 443   14.6.2 新建跟踪 444   14.6.3 使用跟踪 447   14.6.4 保存跟踪 447   14.6.5 重播跟踪 448   第15章 备份和还原SQL Server 2008 452   15.1 创建备份和还原计划 452   15.1.1 开始备份和还原计划 452   15.1.2 规划镜像与镜像数据库的备份 456   15.1.3 规划被复制数据库的备份 456   15.1.4 规划大型数据库的备份 458   15.1.5 规划备份压缩 458   15.2 选择备份设备和媒体 459   15.3 使用备份策略 461   15.4 创建备份设备 462   15.5 执行备份 464   15.5.1 在SQL Server Management Studio中创建备份 464   15.5.2 使用多个设备的条带   备份 468   15.5.3 使用Transact-SQL备份 469   15.5.4 执行事务日志备份 472   15.6 还原数据库 473   15.6.1 数据库损坏及解决方法 473   15.6.2 从正常备份还原数据库 475   15.6.3 还原文件和文件组 479   15.6.4 将数据库还原到不同位置 481   15.6.5 还原丢失的数据 481   15.6.6 创建备用服务器 482   15.6.7 使用Transact-SQL还原命令 483   15.7 还原master数据库 487   第16章 数据库自动化和维护 489   16.1 数据库自动化和维护概述 489   16.2 使用数据库邮件 490   16.2.1 执行初始数据库邮件配置 490   16.2.2 管理数据库邮件配置文件和帐户 495   16.2.3 查看和更改数据库邮件系统参数 496   16.3 使用SQL Server代理 497   16.3.1 访问警报、操作员和作业 497   16.3.2 配置SQL Server代理服务 497   16.3.3 设置SQL Server代理邮件配置文件 498   16.3.4 使用SQL Server代理重新启动服务 499   16.4 管理警报 499   16.4.1 使用默认警报 499   16.4.2 创建错误消息警报 500   16.4.3 处理警报响应 501   16.4.4 删除、启用和禁用警报 503   16.5 管理操作员 503   16.5.1 注册操作员 503   16.5.2 删除和禁用对操作员的通知 504   16.5.3 配置防故障操作员 505   16.6 计划作业 505   16.6.1 创建作业 506   16.6.2 指定或更改作业定义 506   16.6.3 设置执行步骤 508   16.6.4 配置作业计划 511   16.6.5 处理作业警报 514   16.6.6 处理通知消息 514   16.6.7 管理现有作业 515   16.6.8 管理作业类别 516   16.7 自动完成服务器服务器的 日常管理任务 517   16.7.1 在数据库之间复制用户、表、视图和其他对象 517   16.7.2 在数据库之间复制警报、操作员和计划作业 519   16.8 多服务器管理 519   16.8.1 事件转发 520   16.8.2 多服务器作业计划 521   16.9 数据库维护 523   16.9.1 数据库维护清单 523   16.9.2 使用维护计划 524   16.9.3 检查和维护数据库完整性 529   第17章 管理日志传送与数据库镜像 534   17.1 日志传送 534   17.1.1 日志传送:如何工作 534   17.1.2 为日志传送做准备 536   17.1.3 将SQL Server 2000 日志传送升级到 SQL Server 2008日志传送 37   17.1.4 在主数据库上启用日志传送 537   17.1.5 添加日志传送辅助数据库 541   17.1.6 改变事务日志备份的时间间隔 544   17.1.7 改变复制和还原的时间间隔 545   17.1.8 监视日志传送 545   17.1.9 故障转移到辅助数据库 546   17.1.10 禁用和删除日志传送 548   17.2 数据库镜像 548   17.2.1 数据库镜像基础知识 548   17.2.2 配置数据库镜像 549   17.2.3 管理和监视镜像 553   17.2.4 使用故障转移进行恢复 556   17.2.5 删除数据库镜像 557   17.3 使用镜像和日志传送 557   第18章 实施基于策略的管理 559   18.1 基于策略的管理简介 559   18.2 使用基于策略的管理 561   18.3 在整个企业内管理策略 566   18.3.1 导入和导出策略 566   18.3.2 配置中央管理服务器 568   18.3.3 针对多个服务器执行语句 571   18.3.4 配置和管理策略方面 571   18.3.5 创建和管理策略条件 573   18.3.6 创建和管理策略 575   18.3.7 管理策略目标和托管策略 578   18.3.8 评估策略 580   18.3.9 基于策略的管理策略疑难解答 582   &hellip;&hellip;
RFC文档目录 RFC1 主机软件 RFC2 主机软件 RFC3 文档规范 RFC4 网络时间表 RFC6 与 Bob Kahn 会话 RFC10 文档规范 RFC13 零文本长度的EOF信息 RFC16 M.I.T RFC18 IMP-IMP和主机-主机控制联接 RFC19_可用来降低有限交换节点阻塞的两条协议性的建议 RFC20_用于网络交换的 ASCII 格式 RFC21 网络会议 RFC22 主机-主机控制信息格式 RFC23_多重传送的调节信息 RFC24 文档规范 RFC25 不使用高的连接号 RFC27 文档规范 RFC28 时间标准 RFC29 响应 RFC 28 RFC30 文档规范 RFC32 关于SRI所提议的实时时钟的一些想法 RFC34 关于ARC时钟的一些初步记录摘要 RFC35 网络会议 RFC36 协议注解 RFC37 网络会议结尾等 RFC38 NWG/RFC #36 网络协议的注解 RFC40 关于未来协议的更多注解 RFC41 IMP-IMP 通讯信息 RFC42 信息数据类型 RFC43 被提议的会议 RFC45 关于未来协议的更多注解 RFC53 官方协议机构 RFC58 逻辑信息同步 RFC60 简单的 NCP 协议 RFC63 迟来的网络会议报告 RFC66 NIC - 第三级别的想法和其它噪音 RFC69 提议改变 主机/IMP 规范来消除标记 RFC71 输入错误后的再分配 RFC72 建议改变网络协议延期执行 RFC73 响应 NWG/RFC 67 RFC75 网络会议 RFC78 NCP状态报告:UCSB/RAND RFC79 圆木协议错误 RFC81 涉及信息的请求 RFC84 NWG/RFC的1-80列表 RFC85 网络工作组会议 RFC90 CCN 作为一种网络服务中心 RFC99 网络会议 RFC101 对1971年2月17日伊利诺斯州的Urbana的网络工作组会议的注释 RFC102 主机-主机 协议故障清除委员会的说明 RFC103 中断键的执行 RFC104 连接 191 RFC105 通过 UCSB 进行远程登录和远程输出返回的网络说明书 RFC106 用户/服务器 站点协议的网络主机问卷 RFC107 主机-主机 协议故障清除委员会的说明 RFC108 1971年2月17-19日在 Urbana 举行的 NWG 会议的人员列表 RFC124 在 RFC 107 中有印刷错误 RFC132 RFC 107 的排版错误 RFC148 RFC 123 的注释 RFC149 最好的铺设计划 RFC154 风格显示 RFC156 伊利诺斯州站点的状态: 响应 RFC 116 RFC179 连接的数字分配 RFC185 NIC 分发手册 RFC188 数据管理会议公告 RFC198 站点证明-林肯实验室 360/67 RFC204_利用报路 RFC218 改变 IMP 状态报告设备 RFC228 澄清 RFC232 网络图形会议延缓 RFC245 预定网络工作组会议 RFC246 网络图形会议 RFC256 IMPSYS 变更通知 RFC276 NIC过程 RFC285 网络图形 RFC324 RJE 协议会议 RFC335 新界面 - IMP/360 RFC348_放弃过程 RFC404 文件迁移协议的注释 RFC405 给 TIP 用户的第二封信 RFC456 UCSB 的数据重置服务 RFC457_FTP 的服务器服务器交互 RFC496 IMP/TIP 内存更新时间表(修订版 2) RFC516 丢失消息的检测 RFC591 在 NVT ASCII UCSB和在线系统之间的实验输入映象 RFC621 “注意圣诞节的时候要把长袜挂在烟囱下面” RFC628 更深的数据语言的设计观念 RFC634 最近的网络图 RFC637 SU-DSL网络地址的更改 RFC677 双重数据库的维护 RFC692 对于IMP/HOST 协议的改动的注释 (RFCS 687 AND 690) RFC697_FTP的CWD命令 RFC698_Telnet扩展ASCII选项 RFC763 角色邮箱 RFC775_面向目录的 FTP 命令 RFC779_Telnet发送-位置选项 RFC792_Internet 控制信息协议 RFC797 位图文件格式 RFC821_简单邮件传输协议 RFC826_以太网地址转换协议或转换网络协议地址 RFC827_Exterior 网关 协议 (EGP) RFC854_Telnet协议说明书 RF
IP 分片是指将一个 IP 数据分割成多个更小的数据,以便在网络上传输。以下是一个简单的 IP 分片程序实现的示例: ```python import socket def fragment_packet(packet, MTU): # 获取 IP 数据头部信息 header = packet[:20] # 获取 IP 数据负载信息 payload = packet[20:] # 计算每个分片的大小 num_fragments = (len(payload) + MTU - 1) // MTU # 计算每个分片的偏移量 offsets = [i * MTU for i in range(num_fragments)] # 创建分片列表 fragments = [] for i in range(num_fragments): # 设置分片标志 flags = 0x01 if i != num_fragments - 1 else 0x00 # 构造 IP 分片头部 fragment_header = header + ((flags << 13) | offsets[i] >> 3).to_bytes(2, 'big') + b'\x00\x00' # 计算该分片的负载 fragment_payload = payload[offsets[i]:offsets[i] + MTU] # 将 IP 分片头部和负载拼接成 IP 分片 fragment = fragment_header + fragment_payload # 添加到分片列表中 fragments.append(fragment) return fragments # 测试 packet = b'\x45\x00\x00\x3c\x1c\x46\x40\x00\x40\x06\x37\xeb\x0a\x00\x00\x01\x0a\x00\x00\x02\x08\x00\x7d\x8d\x00\x17\x00\x00\x01\x01\x08\x0a\x00\x00\x01\x01\x08\x0a\x00\x00\x02\x05\x00\x02\x00\x00\x00\x00' MTU = 24 fragments = fragment_packet(packet, MTU) for fragment in fragments: print(fragment.hex()) ``` 这是一个 Python 程序,其中 `packet` 是待分片的 IP 数据,`MTU` 是每个分片的最大传输单元。`fragment_packet()` 函数将 IP 数据分割成多个大小为 `MTU` 的 IP 分片。该函数首先获取 IP 数据头部信息和负载信息,计算分片数量和偏移量,然后构造 IP 分片头部和负载,将它们拼接成 IP 分片,最后将所有分片添加到分片列表中并返回。在此示例中,我们将 MTU 设置为 24,以便将一个 IP 数据分割成多个更小的数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值