当前位置:网站首页>信息安全实验四:Ip包监视程序实现
信息安全实验四:Ip包监视程序实现
2022-07-07 06:38:00 【一顿吃不饱】
一、实验目的及要求
学生在熟悉网络数据通信原理以及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包的监视和分析
边栏推荐
- PMP Exam Preparation experience, seek common ground while reserving differences, and successfully pass the exam
- Postman interface test (II. Set global variables \ sets)
- How long does the PMP usually need to prepare for the exam in advance?
- How to pass the PMP Exam in a short time?
- STM32的时钟系统
- Summary of PMP learning materials
- Led analog and digital dimming
- 【ChaosBlade:节点磁盘填充、杀节点上指定进程、挂起节点上指定进程】
- Synchronized underlying principle, volatile keyword analysis
- MySQL common statements
猜你喜欢
Pytest installation (command line installation)
Two schemes of unit test
STM32 clock system
MySql数据库-事务-学习笔记
【Istio Network CRD VirtualService、Envoyfilter】
Common short chain design methods
PMP Exam details after the release of the new exam outline
硬核分享:硬件工程师常用工具包
PMP Exam Preparation experience systematically improve project management knowledge through learning
Systick滴答定时器
随机推荐
Entity of cesium data visualization (Part 1)
How long does the PMP usually need to prepare for the exam in advance?
Led analog and digital dimming
Systick滴答定时器
C language pointer (Part 2)
C语言指针(下篇)
How to count the number of project code lines
【Istio Network CRD VirtualService、Envoyfilter】
Unityshader introduction essentials personal summary -- Basic chapter (I)
Idea development environment installation
What are the conditions for applying for NPDP?
PMP Exam Preparation experience systematically improve project management knowledge through learning
The use of recycling ideas
LeetCode每日一题(2316. Count Unreachable Pairs of Nodes in an Undirected Graph)
On December 8th, 2020, the memory of marketing MRC application suddenly increased, resulting in system oom
What is the rating of Huishang futures company? Is it safe to open an account? I want to open an account, OK?
What is the value of getting a PMP certificate?
Personal deduction topic classification record
Selenium mouse sliding operation event
JVM 内存结构 详细学习笔记(一)