当前位置:文档之家› 局域网抓包软件

局域网抓包软件

局域网抓包软件
局域网抓包软件

此程序是利用JPcap包,抓取通过本地网卡的数据帧,并分析各字段的程序。

这是我的一个网络课程设计,具体介绍在下面的实习报告中详细讲述,并附有源代码

不知道怎么上传文件,所以直接粘贴过来了。

目录

第一章设计目的、任务与要求

1.1设计的目的------------------------------------3

1.2设计的任务与要求------------------------------3

第二章系统分析设计

2.1 系统分析--------------------------------------3

2.2 系统设计--------------------------------------8

第三章系统实现

3.1 实现过程--------------------------------------10

3.2 采用技术--------------------------------------11

3.3 结果界面--------------------------------------11

3.4 结果分析--------------------------------------16

第四章心得体会-------------------------------------18

参考文献--------------------------------------------19

附录------------------------------------------------20

第一章设计目的、任务与要求

1.1:设计的目的

《计算机网络原理》课程是计算机科学与技术专业的重要专业课程之一。随着计算机网络技术的迅速发展和在当今信息社会中的广泛应用,给《计算机网络》课程的教学提出了新的更高的要求。

计算机网络原理课程设计的目的与任务是为了使学生在课程学习的同时,通过在一个计算机网络环境中的实际操作,巩固《计算机网络原理》课堂教学所讲授网络的基本理论、基本概念和方法技术,对现代计算机网络的基本功能有一个初步的了解。为学生今后使用计算机网络的理论和方法,开发大型、复杂的集成系统,打下一个坚实的基础。

1.2:设计的任务与要求

本次实验的要求在网络环境,使用编程语言实现捕获网络中的IP数据包,解析数据包的内容,将结果显示在标准输出上,并同时写入日志文件。

程序的具体要求如下:

①:在标准输出和日志文件中写入捕获的IP包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP地址和目的IP地址等内容。

②:可扩展分析其他协议包。

第二章系统分析设计

2.1:系统分析

实现网络抓包的方法有很多,下面介绍四种:

①:原始套接字

套接字是网络应用编程接口。应用程序可以使用它进行网络通信而不需要知道底层发生的细节。有时需要自己生成一些定制的数据包或者功能并希望绕开Socket 提供的功能,原始套接字( Raw Socket) 满足了这样的要求。原始套接字能够生成自己的数据报文, 包括报头和数据报本身的内容。通过原始套接字, 可以更加自如地控制Windows 下的多种协议, 而且能够对网络底层的传输机制进行控制。可以用原始套接字来发送和接收IP 层以上的原始数据包, 如ICMP, TCP, UDP, 而且能够对网络底层的传输机制进行控制。Raw Socket 的作用主要有三个方面: ( 1) 接收发向本机的ICMP, IGMP 协议包, 或者发送这些协议包; ( 2) 接

收发向本机的IP 包; ( 3) 发送自定义的IP 包。

②:LibPca p

可以从http: / / ee. lbl. gov/ 找到并下载LibPcap, 它是一个广泛应用的系统抓包库。LibPcap 是一种与系统无关, 采用分组捕获机制的分组捕获函数库, 用于访问数据链路层, 它在不同的平台上采用统一的编程接口, 使用LibPcap 编写的程序可自由的跨平台使用。同时LibPcap 是一个独立于系统接口的用户级的抓包库, 它为底层网络监听提供了可移植框架。它的应用包括网络统计集合、安全监听、网络调试等。

③:WinPca p

可以从http: / /winPcap. polito. it / 找到WinPcap。WinPcap是LibPcap 的Windows 版本, 它是一个基于Win32 的捕获数据包和网络分析的体系结构, 它包括一个内核级的包过滤器, 一个底层的动态链接库( Packet. dll) , 一个高层并且与系统无关的库( WPcap. dll, 基于LibPcap0. 6. 2 版本) 。WinPcap 是集成于Windows95, 98, ME, NT, 2000 和XP 操作系统的设备驱动程序, 它可以从网卡捕获或者发送原始数据, 同时能够过滤并且存储数据包。开发WinPcap 这个项目的目的在于为Win32 应用程序提供访问网络底层的能力。它提供了以下四项功能:

( 1) 捕获原始数据报, 包括共享网络上各主机发送/ 接收的以及相互之间交换的数据报;

( 2) 在数据报发往应用程序之前, 按照自定义的规则将某些特殊的数据报过滤掉;

( 3) 在网络上发送原始的数据报;

( 4) 收集网络通信过程中的统计信息。

④:JP ca p

可以从http: / / netresearch. ics. uci. edu / kfujii / jpcap / doc /index. html 找到JPcap。JPcap 是一个能够捕获、发送网络数据包的Java 类库包。这个包用到了LibPcap 和原始套接字API。目前JPcap 在FreeBSD 3. x, Linux RedHat 6. 1, Solaris 和MicrosoftWindows 2000 /XP 系统上已经做过测试, 并且支持Ethernet, IPv4, IPv6, ARP/RARP, TCP, UDP, ICMPv4 协议。JPcap是一个Java 类集合, 它为网络数据包的捕获提供接口和系统支持。其最初版本是2000 年6 月发布的JPcap0. 01 版, 此后几经修改, 到2003 年4 月发布了最新的JPcap0.4 版。

由于本程序采用Java编程语言,所以使用第四种方法,即JPca p来实现抓包。

现在选定了抓包工具,我们还得分析一下所获包的结构,只有弄清楚结构,才能很好的分析捕获包。

我们知道,网络软件是由多个协议层次组成的,在每一层里面都有自己的数据封装,以便实现每个层的功能。OSI参考模型中定义了7层,从低到高分别是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP参考模型中定义得比较少:互联网层(网络层)、传输层、应用层、主机至网络层(空白,可以理解为跟OSI模型一致)。而且我们知道,高层协议整个协议包是封装到低层协议的数据段中的,所以整体是一个嵌套的结构,如下图所示:

数据链路帧格式如下(以太帧):

网络层协议有IP、ICMP、ARP等:

IP分为IPv4和IPv6,这里介绍IPv4

IPv4协议格式如下:

ICMP用于控制,每一种控制有独特的格式,由于格式太多,这里不介绍,详情可参考RFC792 - Internet Control Message Protocol。

ARP协议格式如下:

传输层协议有TCP、UDP:

TCP协议格式如下:

UDP协议格式如下:

基于TCP的应用层协议主要有HTTP:

HTTP协议格式如下(具体数据会不同,这里供参考):①:HTTP请求:

GET 请求:

POST请求:

②:HTTP响应:

基于UDP的应用层协议主要有DNS:

DNS协议格式如下:

以上这些协议是本程序所能分析出来的,由于网络协议有上千种,不可能都去分析,所以其他的协议在此忽略。

既然找到抓包工具,弄清协议格式,现在就开始系统设计吧。

2.2:系统设计

环境搭建:

设计少不了的一项工作就是环境搭建,以下是环境搭建的步骤:

①:jre安装(最好是最新版本——jre6)

②:Myeclipse或者Eclipse安装

③:下载并安装winpcap(可以下载最新版本)。

④:配置Jpcap路径:这一步也是最重要的一步。具体路径为,把Jpcap文件夹下lib文件夹里的Jpcap.dll复制到"C:/Program Files/Java/jre1.6.0_07/bin"文件夹里面(复制到你机器JRE文件夹放到bin文件夹里面就可以了,其中JRE的版本一定要与Eclipse配置的版本一致),再把Jpcap文件夹下lib文件夹里的Jpcap.jar复制到"C:/Program Files/Java/jre1.6.0_07/lib/ext"文件夹里面(复制到你机器JRE文件夹->lib->ext放到ext文件夹里面就可以了)。

⑤:配置Eclipse的JRE环境,(一定需要),选择

Window->preferences->Java->Installed JREs,在Installed JREs选择框中选择相应的JRE版本,点Edit,

选择Add External JARs…,选择你的Jpcap.jar包("C:/Program

Files/Java/jre1.6.0_07/lib/ext"文件夹里),在Finish就配置全部完成了。

在本程序中,采用图形化界面,根据用户的相关配置进行抓包,具体过程参考下面实现过程。

第三章系统实现

3.1:实现过程

当环境搭建好后,一起都会显得很简单了,这里说一下原理,在安装winpcap 时,其实就是利用第三方编写好的程序,他们已经实现了底层和网卡的交互,数据捕获,并把数据封装好,然后对上层用户提供API,现在我们就利用他们提供的API,即JPca p来处理他们封装好的数据。

所以在环境搭建中,必须安装winpcap和导入JPca p库函数。

下面是获取包的几个关键步骤:

①:获得网卡接口

通过调用JPca p库中JpcapCaptor的静态方法getDeviceList()得到网卡接口数组。

②:获得某个网卡接口的连接

通过调用JPca p库中JpcapCaptor的静态方法openDevice()得到某个网卡接口的连接实例。

③:调用实例的processPacket()开始抓包。

④:将抓获的包交给实例的receivePacket()方法进行分析处理。

以上就是整个抓包过程。

当然,在上面的那些方法中,都有一些特定的参数,上面没有给出,这些参数都是用于配置抓包的,程序采用图形化界面,所以这些参数可以在界面上根据用户的选择,然后传入相应方法中,最终获得用户所需的信息。

采用图形化界面,要解决的一个问题就是界面的刷新,通常是后台程序运行,产生结果,界面中要及时显现变化,即界面内容因后台结果而变。

在这个前台(界面)和后台都要兼顾的前提下,必须使用线程来解决这个问题,界面是根据后台而变的,所以可以为界面分配较高优先级,当界面显示内容不再变化,程序才会去执行较低优先级的后台抓包程序,而当抓包结果产生时,程序马上又能调用较高优先级的前台程序显示出来。

至此,前台和后台都能兼顾运行。

这里要说明的一点是,由于采用线程抓包,所以所抓获的包不是连续通过网卡的包,我们获得的,只是某些时刻的包。

3.2:采用技术

①:JPca p库函数运用

②:Swing组件运用

③:线程技术运用

④:托盘技术运用(托盘图标,用于图形化界面,没有抓包方面的知识)

⑤:文件操作技术运用(分析结果保存于文件和文件打开)

3.3:结果界面

①:开始界面(欢迎界面)

②:菜单选项

File菜单: Capture菜单:

Tool菜单: Help菜单:

③:网卡信息

④:配置抓包

⑤:开始抓包

⑥:保存文件(自定义后缀为.sto)

⑦:打开以前保存的文件

点击打开后,会在界面上显示保存的结果

⑧:相关链接

Wireshake 链接(本程序就是参考此程序的)

注:要链接此程序,必须安装wireshake于本地机器上,目录为安装默认目录。

Check network card factory(网卡厂商查询)链接

注:通过此链接,可跳转到国外的一个查询网站,输入前3位16进制(即前24位二进制)网卡地址查询。

⑨:Help菜单

注:点击链接到JPCAP 的API,要想链接,必须把API的doc文档放于E:/目录下。

⑩:托盘

注:当点击窗口最小化时,在电脑右下角显示托盘图标,双击图标恢复界面

QQ图标左边第一个为本程序的托盘图标

3.4:结果分析

下面以一个以太帧的结果来分析产生结果

------包分析-------

Captured Length:805 byte

Length of this Packet:805 byte

Header:[B@dea768

Length of Header:54 byte

Data:[B@1c0cd80

Length of Data:751 byte

---Ethernet头部信息---

src_mac:0:e0:b0:f8:65:8e

dst_mac:d8:5d:4c:1d:52:7a

frametype:0x800

------------------

---IP版本: 4 ---

Type of service:0

Priprity:0

Packet Length:791

Identification:5730

Don't Frag? false

More Frag? false

Frag Offset:0

Time to Live:64

Protocol:6 (TCP = 6; UDP = 17)

Source address:/192.168.1.100

Destination address:/220.170.91.146

Options:null

------------------

---TCP---

Source Port:2434

Destination Port:80

Sequence Number:2037813051

Acknowledge Number:2047245128

URG:false

ACK:true

PSH:true

RST:false

SYN:false

FIN:false

Window Size:46537

Urgent Pointer:0

Option:null

------------------

---HTTP---

GET / HTTP/1.1

Accept: */*

Accept-Language: zh-cn

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;

SV1; .NET CLR 2.0.50727; 360SE)

Host: https://www.doczj.com/doc/ce15410253.html,

Connection: Keep-Alive

Cookie: ALLYESSESSION1=4c201e0f6e31e;

_ntes_nnid=d837938ce6aa32c1e7bd8b6b8ea9b518,0;

_ntes_nuid=d837938ce6aa32c1e7bd8b6b8ea9b518; ntes_ucc=;

NTES_UFC=51010000000000011010000000000000000000000000000000000000 00000000; USERTRACK=220.168.117.183.1276908764822367;

vjuids=96e8a39f.12205a57bb7.0.c45bac10feb66;

vjlast=1245635247.1245635247.30; Province=0730; City=0731; ALLYESID4=00100622094821301258115;

__ntes__test__cookies=1245637579343; NTES_adText=2; locOfCh=south; theCity=57679; movnum=1; kksp2009622channeleventcookies=1这是一个比较完整的以太帧,从上到下为低层包含高层的嵌套结构,每个协议都用分割线隔开,最初是整个包(以太帧)的信息。然后就是帧头信息,帧头里面按照帧的格式显示,之后进入IP头部格式分析,各个字段也是按照IP格式给出,IP下面是TCP,TCP下面是HTTP等。

结果一目了然。

第四章心得体会

在获得题目之初,我最初是想做网卡驱动的,因为我觉得假如能实现底层的驱动的话,能让我更好的掌握相关网络知识,而且对我以后的求职也会有所帮助,然而当我在网上找了相关资料一看的时候,所有的编程语言都是底层语言,比如C语言、汇编语言、C++之类,而我的C和汇编都仅仅是入门而已,C++更是没有学过,所以做不了网卡驱动了。剩下的网站编写,我自己也写过一些,觉得那个把相关网络知识都封装了,几乎不会网络知识的人也能完成。最终我选择了IP抓包课题,因为这个几乎贯穿了我们所学的知识。

开始我也不知道,做了之后我才发现,要实现简单的捕获包,通过相关配置之后,只要不到百行代码,然后我询问了其他也是做这个课题但是不是用Java 的同学,他们也说好简单。

我知道他们的简单是什么意思,就是得到包而已。我觉得还是不简单的,因为重头戏在分析包的结构中,所以我开始构想,我能不能把常用的包都分析出来,而不仅仅是题目要求的IP分析,经过相关的查询之后,得到结论:可以。

要分析包,肯定的了解包的构造,不同层有不同层的构造,不同协议也有不同协议的构造,我得去查看各个常用协议的构造,教材已不再满足要求,因为好多都没有整体构造,仅仅是一些字段说明,所以得充分利用网络资源,而这其中,Request For Comments(RFC)是最有力的工具,这里面有各个协议的标准,整体构造,字段说明等,看了RFC之后,我终于知道看原版的好处了。

通过查看相关RFC之后,我归纳了上面给出的那些协议格式,那些协议也是我想要在程序里面分析的。

还有在一些博客里面,楼主都把自己的经验分享了,在本课程设计中,我觉得其中最重要的就是有人把环境配置的经验分享了,不然要我去摸索过程,我觉得会是很难的。

通过这次实验,我收获还是很多,虽然我也想要有他们做网站、做文件传输的收获,但是鱼和熊掌不可兼得,他们也没有我的收获啊,嘿嘿...

以下是所得:

首先,就是巩固了网络知识,对于这些常用协议,我现在真的是有自己的认识了。

其次,掌握了网络抓包的原理,以及基于Java的抓包程序的编写。

再者,加深Swing组件应用,掌握托盘技术,学会使用线程。

最后,也是最重要的一点体验,就是觉得网络真的是一个宝库,只要你知道你的问题,你都能在其中找到你要的答案。

其他的话,就是感谢老师先给我们上了理论知识,最后又提供课题让我们自己去深刻感受理论知识的运用。

参考文献

以下皆来自网络

[1] RFC826 - Ethernet Address Resolution Protocol(ARP)

[2] RFC792 - Internet Control Message Protocol (ICMP)

[3] RFC791 - Internet Protocol (IP)

[4] RFC793 - Transmission Control Protocol (TCP)

[5] RFC768 - User Datagram Protocol (UDP)

[6]RFC2616 - Hypertext Transfer Protocol -- HTTP/1.1 (HTTP)

以下是教材

[7]计算机网络(第四版),清华大学出版社,2004年8月出版

附录

源代码如下:

①:MainFrame类

package https://www.doczj.com/doc/ce15410253.html,.wwc;

import java.awt.AWTException;

import java.awt.Color;

import java.awt.Container;

import java.awt.Frame;

import java.awt.MenuItem;

import java.awt.PopupMenu;

import java.awt.SystemTray;

import java.awt.TrayIcon;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.awt.event.WindowEvent;

import java.awt.event.WindowListener;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStreamReader;

import javax.swing.ImageIcon;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.UIManager;

import org.jvnet.substance.SubstanceLookAndFeel;

public class MainFrame extends JFrame implements

ActionListener,WindowListener,Runnable{

private static final long serialVersionUID = 1L;

private JMenuBar mBar = new JMenuBar();

private JMenu M_file = new JMenu("File");

private JMenu M_capture = new JMenu("Capture");

private JMenu M_tool = new JMenu("Tool");

private JMenu M_help = new JMenu("Help");

private JMenuItem F_open = new JMenuItem("Open File");

private JMenuItem F_save = new JMenuItem("Save File");

private JMenuItem F_exit = new JMenuItem("Exit");

private JMenuItem C_show = new JMenuItem("Network Card information"); private JMenuItem C_Configure = new JMenuItem("Configure");

private JMenuItem C_start = new JMenuItem("Start");

private JMenuItem C_stop = new JMenuItem("Stop");

private JMenuItem T_wireshake = new JMenuItem("Wireshake");

private JMenuItem T_factory = new JMenuItem("Check network card factory");

private JMenuItem H_api = new JMenuItem("API for JPCAP");

private JMenuItem H_author = new JMenuItem("About Author");

public JPanel mainPanel1;

public JScrollPane mainPanel2;

public Container con;

public JTextArea area = new JTextArea();

public CatchPacket cPacket ;

Thread thread = new Thread(cPacket);

public Configure configure;

public static boolean isWorking = false;

private SystemTray sTray;

private TrayIcon tIcon;

// 布局页面

public void init(){

// file菜单

M_file.add(F_open);

M_file.add(F_save);

M_file.add(F_exit);

// capture菜单

M_capture.add(C_show);

M_capture.add(C_Configure);

M_capture.add(C_start);

M_capture.add(C_stop);

// tool菜单

M_tool.add(T_wireshake);

M_tool.add(T_factory);

// help菜单

M_help.add(H_api);

M_help.add(H_author);

// 组装菜单

mBar.add(M_file);

mBar.add(M_capture);

mBar.add(M_tool);

mBar.add(M_help);

setJMenuBar(mBar);

setLayout(null);

mainPanel1 = welPanel();

mainPanel2 = workPanel();

mainPanel1.setBounds(50, 10, 900,700); mainPanel2.setBounds(50, 10, 900,700);

add(mainPanel1);

add(mainPanel2);

mainPanel1.setVisible(!isWorking);

mainPanel2.setVisible(isWorking);

setTitle("PacketCatcher-WWC(World-Wide-Catch)"); setSize(1000, 800);

setResizable(false);

setVisible(true);

F_open.addActionListener(this);

F_save.addActionListener(this);

F_exit.addActionListener(this);

C_show.addActionListener(this);

C_Configure.addActionListener(this);

C_start.addActionListener(this);

C_stop.addActionListener(this);

T_wireshake.addActionListener(this);

T_factory.addActionListener(this);

H_api.addActionListener(this);

H_author.addActionListener(this);

this.addWindowListener(this);

}

// 设置托盘

public void setTray(){

sTray = SystemTray.getSystemTray();

ImageIcon icon = new ImageIcon(".//.//.//images//tray.jpg"); PopupMenu menu = new PopupMenu();

MenuItem show = new MenuItem("显示窗体");

MenuItem exit = new MenuItem("退出窗体");

tIcon = new TrayIcon(icon.getImage(),"World-Wide-Catch",menu); tIcon.addMouseListener(new MouseAdapter() {

public void mouseClicked(MouseEvent e) {

if (e.getClickCount() == 2) {// 鼠标双击

sTray.remove(tIcon);

setVisible(true);

// 设置窗口全屏

//setExtendedState(JFrame.MAXIMIZED_BOTH);

}

}

});

}

// 初始化界面

public MainFrame() {

// 初始化一个CacthPacket对象,以后都是在操作此对象

cPacket = new CatchPacket();

con = this.getContentPane();

init();

setTray();

}

// 添加welcome界面

public JPanel welPanel(){

JPanel jPanel = new JPanel();

JLabel label = new JLabel();

ImageIcon icon = new ImageIcon(".//.//.//images//final.jpg");

label.setIcon(icon);

jPanel.add(label);

return jPanel;

}

// 运行时界面

public JScrollPane workPanel(){

area.setBackground(Color.yellow);

area.setText(CatchPacket.sb.toString());

area.setEditable(false);

JScrollPane sPane = new JScrollPane(area);

sPane.setSize(800,600);

sPane.setVisible(isWorking);

return sPane;

}

// 菜单栏listener

public void actionPerformed(ActionEvent e) {

if(e.getSource()==F_open){

if(isWorking==false){

isWorking = true;

}

JFileChooser chooser = new JFileChooser();

int returnType = chooser.showOpenDialog(null);

if(returnType==JFileChooser.APPROVE_OPTION){

File file = chooser.getSelectedFile();

String fileName = file.getAbsolutePath();

CatchPacket.sb.delete(0, CatchPacket.sb.length());

cPacket.openFile(fileName);

}

}else if(e.getSource()==F_save){

JFileChooser chooser = new JFileChooser();

int returnType = chooser.showSaveDialog(null);

if(returnType==JFileChooser.APPROVE_OPTION){

File file = chooser.getSelectedFile();

String fileName = file.getAbsolutePath();

cPacket.saveFile(fileName);

}

}else if(e.getSource()==F_exit){

int show = JOptionPane.showConfirmDialog(null, "是否关闭?", "确认关闭系统",

JOptionPane.YES_NO_OPTION);

if (show == JOptionPane.YES_OPTION) {

System.exit(0);

}else {

this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

}

}else if(e.getSource()==C_show){

isWorking = true;

cPacket.devices = cPacket.getDevices();

CatchPacket.sb.delete(0, CatchPacket.sb.length());

cPacket.desNetworkInterface();

area.setText(CatchPacket.sb.toString());

}else if(e.getSource()==C_Configure){

configure = new Configure();

configure.init(cPacket);

}else if(e.getSource()==C_start){

if(configure==null){

JOptionPane.showMessageDialog(null, "Configure

first!","INFORMATION",https://www.doczj.com/doc/ce15410253.html,RMATION_MESSAGE);

}else{

isWorking = true;

cPacket.getCap(CatchPacket.chooseDevice, CatchPacket.chooseMode, ""); thread = new Thread(cPacket);

CatchPacket.sb.delete(0, CatchPacket.sb.length());

thread.start();

}

}

else if(e.getSource()==C_stop){

if(thread.isAlive()){

thread.stop();

}

}

else if(e.getSource()==T_wireshake){

String cmd ="rundll32 url.dll,FileProtocolHandler C://Program

Files//Wireshark//wireshark.exe";

try {

Runtime.getRuntime().exec(cmd);

} catch (IOException e1) {

e1.printStackTrace();

}

}else if(e.getSource()==T_factory){

String cmd ="rundll32 url.dll,FileProtocolHandler

https://www.doczj.com/doc/ce15410253.html,/regauth/oui/index.shtml";

try {

Runtime.getRuntime().exec(cmd);

} catch (IOException e1) {

e1.printStackTrace();

}

}else if(e.getSource()==H_api){

String cmd ="rundll32 url.dll,FileProtocolHandler

E://doc//javadoc//index.html";

try {

Runtime.getRuntime().exec(cmd);

} catch (IOException e1) {

e1.printStackTrace();

}

}else if(e.getSource()==H_author){

//查看空间

String cmd ="rundll32 url.dll,FileProtocolHandler

https://www.doczj.com/doc/ce15410253.html,/627443660?ADUIN=627443660&ADSESSION=12771063 45&ADTAG=CLIENT.QQ.2881_MyTip.0&ptlang=2052";

try {

Runtime.getRuntime().exec(cmd);

} catch (IOException e1) {

e1.printStackTrace();

}

}

}

// 窗口listener

public void windowActivated(WindowEvent arg0) {}

public void windowClosed(WindowEvent arg0) {}

public void windowDeactivated(WindowEvent arg0) {}

public void windowDeiconified(WindowEvent arg0) {}

public void windowOpened(WindowEvent arg0) {}

public void windowClosing(WindowEvent e) {

int show = JOptionPane.showConfirmDialog(null, "是否关闭?", "确认关闭系统",

JOptionPane.YES_NO_OPTION);

if (show == JOptionPane.YES_OPTION) {

System.exit(0);

}else {

this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

}

}

// 最小化

public void windowIconified(WindowEvent arg0) {

if (getState() == Frame.ICONIFIED) {

try {

sTray = SystemTray.getSystemTray();

sTray.add(tIcon);

} catch (AWTException e1) {

e1.printStackTrace();

}

setVisible(false);

}

}

public static void main(String[] args) {

try {

UIManager.setLookAndFeel(new SubstanceLookAndFeel()); }catch(Exception e){

}

MainFrame mFrame = new MainFrame();

Thread mThread = new Thread(mFrame);

mThread.setPriority(Thread.MAX_PRIORITY);

mThread.start();

}

public void run() {

while(true){

try {

Thread.sleep(800);

this.mainPanel1.setVisible(!isWorking);

this.mainPanel2.setVisible(isWorking);

area.setText(CatchPacket.sb.toString());

con.validate();

con.repaint();

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}

②:Configure类

package https://www.doczj.com/doc/ce15410253.html,.wwc;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import java.awt.event.KeyEvent;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JTextField;

import javax.swing.event.PopupMenuEvent;

import javax.swing.event.PopupMenuListener;

import jpcap.JpcapCaptor;

import https://www.doczj.com/doc/ce15410253.html,workInterface;

public class Configure extends JFrame implements ActionListener{ private JLabel choose_Device = new JLabel("Choose a Network Interface:"); private JLabel choose_Mode = new JLabel("Choose Work Mode:");

private JLabel set_Filter = new JLabel("Set Filter:");

private JComboBox device_Box ;

private JComboBox mode_Box;

private JTextField filter_Field = new JTextField("Input here"); private JButton go = new JButton("Go");

public static NetworkInterface[] devices;

public String[] device_Names;

public String[] mode_Names = new String[]{"混杂模式","优化模式"}; public CatchPacket catchPacket;

public void init(CatchPacket cPacket){

this.catchPacket = cPacket;

devices = cPacket.getDevices();

device_Names = new String[devices.length];

for(int i=0;i

device_Names[i] = devices[i].description+i;

}

device_Box = new JComboBox(device_Names);

device_Box.setSelectedIndex(device_Names.length-1);

mode_Box = new JComboBox(mode_Names);

mode_Box.setSelectedIndex(0);

//布局

setLayout(null);

choose_Device.setBounds(50, 20, 250, 20);

add(choose_Device);

device_Box.setBounds(300, 20, 250, 20);

add(device_Box);

choose_Mode.setBounds(50, 50, 250, 20);

add(choose_Mode);

mode_Box.setBounds(300, 50, 250, 20);

add(mode_Box);

set_Filter.setBounds(50, 80, 250, 20);

add(set_Filter);

filter_Field.setBounds(300, 80, 250, 20);

add(filter_Field);

go.setBounds(500, 110, 50, 20);

add(go);

setDefaultCloseOperation(EXIT_ON_CLOSE);

setTitle("Configure");

setSize(600, 180);

setResizable(false);

setVisible(true);

// device_Box.addItemListener(this);

// mode_Box.addItemListener(this);

// filter_Field.addActionListener(this);

go.addActionListener(this);

}

public void actionPerformed(ActionEvent e) {

String device_Item = (String)device_Box.getSelectedItem(); String mode_Item = (String)mode_Box.getSelectedItem(); Boolean is_Mix = true;

for(int i=0;i

if(device_Item.endsWith(i+"")){

catchPacket.chooseDevice = devices[i];

break;

}

}

if(mode_Item.equals("混杂模式")){

is_Mix = true;

}else

is_Mix = false;

catchPacket.chooseMode = is_Mix;

catchPacket.inputFilter = filter_Field.getText();

this.setVisible(false);

/*if(e.getSource()==device_Box){

device_Box.getSelectedIndex();

}

if(e.getSource()==filter_Field){

String msg = filter_Field.getText();

msg = msg.trim();

if(msg!=null || !msg.equals("")||!msg.equals("Input here")){ catchPacket.inputFilter = msg;

sets[2] = true; //表示过滤器已设

this.setVisible(false);

}

}*/

}

public static void main(String[] args) {

// new Configure();

}

}

③:CatchPacket类

package https://www.doczj.com/doc/ce15410253.html,.wwc;

import java.io.IOException;

import java.io.UnsupportedEncodingException;

import java.util.ArrayList;

import java.util.LinkedList;

import javax.swing.JOptionPane;

import jpcap.JpcapCaptor;

import jpcap.JpcapWriter;

import https://www.doczj.com/doc/ce15410253.html,workInterface;

import jpcap.PacketReceiver;

import jpcap.packet.ARPPacket;

import jpcap.packet.DatalinkPacket;

import jpcap.packet.EthernetPacket;

import jpcap.packet.ICMPPacket;

import jpcap.packet.IPPacket;

import jpcap.packet.Packet;

import jpcap.packet.TCPPacket;

import jpcap.packet.UDPPacket;

public class CatchPacket implements PacketReceiver,Runnable { public NetworkInterface[] devices;

public NetworkInterface device;

public JpcapCaptor jCaptor;

public JpcapWriter writer;

public LinkedList packets = new LinkedList();

public static NetworkInterface chooseDevice;

public static boolean chooseMode;

public static String inputFilter;

public static StringBuffer sb = new StringBuffer();

// 获得网络接口list

public NetworkInterface[] getDevices() {

devices = JpcapCaptor.getDeviceList();

return devices;

}

// 获得网卡接口list描述

public void desNetworkInterface() {

sb.append("************************网卡信息

****************************************/n");

sb.append("总共有 " + devices.length + " 个网络设备接口/n"); for (int i = 0; i < devices.length; i++) {

sb.append("/n设备接口" + (i + 1) + ":/n");

sb.append("网络接口名称:" + devices[i].name+"/n");

// 选中一个网卡接口进行监听

if (!(devices[i].name.contains("GenericDialupAdapter"))) { device = devices[i];

}

sb.append("网络接口描述:" + devices[i].description+"/n");

sb.append("数据链路层名称:" + devices[i].datalink_name+"/n");

sb.append("数据链路层描述:" + devices[i].datalink_description+"/n"); sb.append("是否是LOOPBACK设备:" + devices[i].loopback+"/n");

sb.append("MAC地址:");

int flag = 0;

for (byte b : devices[i].mac_address) {

flag++;

if (flag < devices[i].mac_address.length) {

sb.append(Integer.toHexString(b & 0xff) + ":");

} else

sb.append(Integer.toHexString(b & 0xff)+"/n");

}

}

sb.append("********************************************************** ************/n");

// System.out.println(sb);

}

// 获得某个网卡接口的连接

public void getCap(NetworkInterface nInterface, boolean mixMode,String filter){

try {

jCaptor = JpcapCaptor.openDevice(nInterface, 2048, mixMode, 5000);

} catch (IOException e) {

e.printStackTrace();

}

}

// 设置过滤器

public void setFilter(String filter){

try {

jCaptor.setFilter(filter, true);

} catch (IOException e) {

e.printStackTrace();

}

}

// 设置抓包模式开始抓包

public void beginCatch() {

jCaptor.processPacket(1, this);

}

// 结束抓包

public void endCatch() {

if (jCaptor != null) {

jCaptor.breakLoop();

}

网络嗅探器的设计与实现

计算机网络课程设计 题目网络嗅探器的设计与实现 系 (部) 姓名 学号 指导教师 2015年7月18日

计算机网络课程设计任务书

网络嗅探器的设计与实现 摘要:网络嗅探器是对网络中的数据帧进行捕获的一种被动监听手段,是一种常用的收集有用数据的方法。本设计是关于网络嗅探器的设计与实现,其功能包括实现网络层抓包,对获得包的源和目的地址、端口、协议等进行分析和实现简单的包嗅探器功能。 关键字:网络嗅探器;数据包捕获; 套接字 引言 由于网络技术的发展,计算机网络的应用越来越广泛,其作用也越来越重要。计算机网络安全问题更加严重,网络破坏所造成的损失越来越大。但是由于计算机系统中软硬件的脆弱性和计算机网络的脆弱性以及地理分布的位置、自然环境、自然破坏以及人为因素的影响,不仅增加了信息存储、处理的风险,也给信息传送带来了新的问题。 嗅探器是一种常用的收集有用数据的方法,可以作为网络数据包的设备。嗅探器是通过对网卡的编程来实现网络通讯的,对网卡的编程是使用通常的套接字(socket)方式来进行。通常的套接字程序只能响应与自己硬件地址相匹配的或是以广播形式发出的数据帧,对于其他形式的数据帧比如已到达网络接口但却不是发给此地址的数据帧,网络接口在验证投递地址并非自身地址之后将不引起响应,也就是说应用程序无法收取到达的数据包。而网络嗅探器的目的恰恰在于从网卡接收所有经过它的数据包,这些数据包即可以是发给它的也可以是发往别处的。 1 基本概念 1.1 嗅探器 每一个在局域网(LAN)上的工作站都有其硬件地址,这些地址唯一地表示了网络上的机器。当用户发送一个数据包时,这些数据包就会发送到LAN上所有可用的机器。在一般情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的数据包则不予响应。嗅探器工作在网络的底层,在网络上监听数据包来获取敏感信息。从原理上来说,在一个实际的系统中,数据的收发是由网卡来完成的,网卡接收到传输来的数据,其内的单片程序接收数据帧的目的MAC地址,根据计算机上的网卡驱动程序设置的接收模式判断该不该接收,认为该接收就接收后产生中断信号通知CPU,认为不该接收就丢掉不管,所以不该接收的数据网卡就截断了,计算机根本就不知道。对于网卡来说一般有四种接收模式: a)广播方式:该模式下的网卡能够接收网络中的广播信息。 b)组播方式:设置在该模式下的网卡能够接收组播数据。 c)直接方式:在这种模式下,只有目的网卡才能接收该数据。

局域网监听软件的设计实现分析

毕业设计(论文) 设计(论文)题目:局域网监听软件的设计与实现 学院名称:电子与信息工程学院 专业:计算机科学与技术 班级:10计科(2) 姓名:XXXX 学号XXXXXXXX 指导教师:XXXX 职称教授 定稿日期:2014年4月30日

局域网监听软件的设计与实现 摘要 互联网给我们的社会和个人带来了太多的便利和益处。社会运作包括公共设施及其服务、政府运作和个人生活,已经越来越离不开电脑和互联网了。这使得互联网安全这一潜在威胁迅速、悄然但又爆炸式地产生了。公民个人的隐私、通讯和表达自由受到直接冲击。从邮件、电话到电子文档和其他资料,乃至行踪、消费记录等,我们似乎可以变成透明。最近沸沸扬扬的棱镜门和Heartbleed漏洞更是为世人敲响了网络安全的警钟。对局域网内数据监听系统的研究,对于维护网络的稳定性和解决网络安全问题有着重要的意义,它可以用来帮助诊断网络中的路由设备,其他的网络连接设备,查看网络上数据报的传送情况,利于网络管理员的管理与维护。 本局域网监听软件主要采用WinPCap开发工具和C++语言在VisualStudio2008编译器下进行开发。软件实现了对局域网内的数据进行捕获以及过滤,并分析出每一协议层的传输数据的主要字段和内容。之后再将其显示,同时进行动态更新。经过长时间的使用,证明该软件运行可靠稳定,捕获数据准确,易于使用。 关键词:互联网安全,局域网监听,WinPCap,多协议分析

DESIGN AND IMPLEMENTATION OF LAN MONITORING SOFTWARE ABSTRACT Internet has brought much convenience and benefits to our everyday life.Social functioning, including public facilities and services, government operations and personal life has become increasingly dependent on computers and the Internet. This makes the potential threat to Internet security quickly, quietly but explosively generated. The privacy of individual citizens, freedom of communication and expression direct impact. From e-mail, telephone to electronic documents and other information, as well as the whereabouts of consumer records, it seems that we can become transparent. Recent uproar the US surveillance program PRISM and Heartbleed loophole is for the world sounded the alarm for network security. Research on data monitoring system in LAN, plays an important role in maintainingthe stability of the network and solve the problem of network security, it can be used to help diagnose routing equipment in the network, the other network connection device, check the transmission of the data on the network,management and maintenance to the network

wireshark抓包教程

Wireshark图解教程(简介、抓包、过滤器)配置 Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的 数据,并为用户提供关于网络和上层协议的各种信息。与很多其他网络工具一样,Wireshark也使用pcap network library来进行封包捕捉。可破解局域网内QQ、 邮箱、msn、账号等的密码!! Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。与很多其他网络工具一样,Wireshark也使用pcap network library来进行封包捕捉。可破解局域网内QQ、邮箱、msn、账号等的密码!! wireshark的原名是Ethereal,新名字是2006年起用的。当时Ethereal的主要开发者决定离开他原来供职的公司,并继续开发这个软件。但由于Ethereal这个名称的使用权已经被原来那个公司注册,Wireshark这个新名字也就应运而生了。 在成功运行Wireshark之后,我们就可以进入下一步,更进一步了解这个强大的工具。下面是一张地址为192.168.1.2 的计算机正在访问“https://www.doczj.com/doc/ce15410253.html,”网站时的截图。 1.MENUS(菜单) 2.SHORTCUTS(快捷方式) 3.DISPLAY FILTER(显示过滤器) 4.PACKET LIST PANE(封包列表) 5.PACKET DETAILS PANE(封包详细信息) 6.DISSECTOR PANE(16进制数据) 7.MISCELLANOUS(杂项)

1. MENUS(菜单) 程序上方的8个菜单项用于对Wireshark进行配置: -"File"(文件)-"Edit"(编辑)-"View"(查看)-"Go"(转到)-"Capture"(捕获)-"Analyze"(分析)-"Statistics"(统计) -"Help"(帮助)打开或保存捕获的信息。 查找或标记封包。进行全局设置。 设置Wireshark的视图。 跳转到捕获的数据。 设置捕捉过滤器并开始捕捉。 设置分析选项。 查看Wireshark的统计信息。 查看本地或者在线支持。 2. SHORTCUTS(快捷方式) 在菜单下面,是一些常用的快捷按钮。 您可以将鼠标指针移动到某个图标上以获得其功能说明。 3.DISPLAY FILTER(显示过滤器) 显示过滤器用于查找捕捉记录中的内容。 请不要将捕捉过滤器和显示过滤器的概念相混淆。请参考Wireshark过滤器中的详细内容。 返回页面顶部 4.PACKET LIST PANE(封包列表)

实践三:某单位局域网网络设计

实践三:某单位局域网网络设计 【实践目的】 通过实践掌握局域网网络设计的有关方法和步骤,学会网络拓扑结构设计和网络技术、网络操作系统、服务器等的选择和配置。本次实践的主要目的是: 1、了解网络方案设计的步骤。 2、掌握局域网的规划及拓扑结构的绘制。 3、学会服务器、网络操作系统等的选择。 4、利用网络设备组建一个小型局域网 【实践内容与步骤】 某单位现有微机60台、打印机20台,在一栋办公楼中工作,原来都为单机运行,没有网络方面的管理人员,主要从事日常办公、统计、销售和对外信息发布等方面的工作,现拟建立局域网,使得相关信息充分共享。 应实现以下几点: A、充分利用现有通信基础设施中的战略投资,同时提供可用的带宽。 B、减少管理网络操作的费用。 C、提供跨越多平台、支持多媒体应用程序和其他急需信息流的万法。 D、提供扩展性、信息流控制功能和安全性。 E、能支持RMON代理。 ·实现管理网络化,完成单位信息管理的采集、处理、查询、统计、分析。同时,实现各部门办公自动化,提高工作效率。 ·保证网络系统的开放性、可持续发展性,便于以后集成视频点播、远程管理等功能。 ·网络系统必须安全可靠,保证数据的安全运行,并能满足单位不断发展的需要。 ·接入因特网(Internet),实现真正意义上的数据共享、信息共享。 实践步骤: 1、根据要求,按照网络设计规范,进行网络方案的初步设计; 2、确定选择网络拓扑结构,绘制网络拓扑结构图; 3、掌握网络操作系统的选择,并说明选择的目的; 4、掌握服务器等的选择。 具体实施方案与设备要求 1、服务器:为使网络能适应应用要求和未来扩建需要,需用多个专用服务器。 2、交换机:中心机房的交换机建议选用带光纤接口的千兆交换机。 3、机柜:用以存放交换机、机架式存储服务器等设备。 4、电源:为确保24小时不间断提供外界访问,机房必须有不间断电源。 5、主干采用三层构架,充分利用三层交换的高性能管理,满足大容量、高速率的数据传输。分布式的三层提供强大的系统张力,有利于今后网络的扩充、维护和管理。三层交换技术实现网络路由管理。不但有效地控制了网络风暴,又能实现跨VLAN的网络连接,为网络安全提供了强有力的保障。分布式三层结构使管理智能化,提高了管理效率。 6、局域网拓扑图(参考)

Linux-C-网卡抓包程序的实现

目录 一、课程设计目的 (2) 二、开发环境、运行方式 (5) 1、开发环境 (5) 2、运行方式 (5) 3、测试结果截图 (6) 三、流程的说明 (8) 四、帧封装的过程 (10) 1、填充帧头部字段 (10) 2、填充数据字段 (10) 3、CRC校验 (10) 4、主程序设计 (12) 五、帧封装方法的相关扩展 (21) 1、比特型算法 (22) 2、字节型算法 (22) 六、课程设计心得与体会 (23) 七、参考文献 (23)

一、课程设计目的 帧是网络通信的基本传输单元,熟悉帧结构对于理解网络协议的概念、协议执行过程以及网络层次结构具有重要的意义。本次作业的目的是应用数据链路层与介质访问控制子层的知识,根据数据链路层的基本原理,通过封装和解析Ethernet 帧,了解Ethernet 帧结构中各个字段的含义,从而深入理解Internet 协议族中的最底层协议——数据链路层协议。 网络节点间发送数据都要将它放在帧的有效部分,分为一个或多个帧进行传送。节点之间可靠的帧传输不仅是通信的保障,而且还可以实现网络控制等各种功能。 1980年,Xerox、DEC与Intel等三家公司合作,第一次公布了Ethernet的物理层、数据链路层规范;1981年Ethernet V2.0规范公布;IEEE 802.3 标准是在Ethernet V2.0规范的基础上制定的,IEEE 802.3针对整个CSMA/CD网络,它的制定推动了Ethernet 技术的发展和广泛应用。Ethernet V2.0规范和IEEE802.3标准中的Ethernet帧结构有一些差别,这里我们按Ethernet V2.0的帧结构进行讨论。 图 1.1 IEEE802.3标准Ethernet帧结构 802.3标准中Ethernet帧结构由以下几个部分组成: (1)前导码和帧前定界符 前导码由56位(7Byte)的10101010…1010比特序列组成,帧前定界符由一个8位的字节组成,其比特序列位10101011。前导码用于使接收端同步,不计入帧头长度。帧前

局域网监控系统通用方案

☆☆局域网监控系统通用方案☆☆ ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆一、概述 网络视频监控产品是最近几年面世的第三代全数字化远程视频集中监控设备,利用它可以将传统摄像机捕捉的图像进行数字化编码压缩处理后,通过局域网、广域网、无线网络、Internet或其它网络方式传送到网络所延伸到的任何地方,千里之外的网络终端用户通过普通电脑就可以对远程图像进行实时的监控、录像、管理,不受时间与地域的限制。 在本系统规划调研阶段,我们对现在主流的监控模式进行了全方位的分析比较: 1、传统的模拟监控模式:需要在各分点与监控中心之间架设模拟图像传输的视频线、控制线。大型企事业单位,通常占地面积很大,铺设这些线路费时、费力、费钱。 2、基于网络视频服务器、网络摄像机的网络监控模式:通过在各分点配备网络视频服务器、网络摄像机,将本地监控摄像机拍摄的模拟图像进行数字化压缩处理后,利用企业原有的局域网上传到监控中心集中管理、录像、远程回放和对讲,联网的客户端电脑可以实时监控相关图像,也可以随时访问录像主机调用历史录像数据回放显示。

二、设计原则 1、基本情况介绍 根据我们对监控行业的了解和丰富的工程经验,认为其需求主要体现在以下几个方面: 视频监控覆盖各个监控需求的地方,对其进行24小时实时视频监控,有必要时还可以进行实时音视频监听; 在监控中心及局域网中的计算机上,可以远程控制各个监控点的摄像机云台、镜头,实现转动、变焦、变光圈、聚焦等控制; 在监控中心及局域网中的计算机上,能够实时接收前端传统报警装置传送的报警信息,实时监听报警点的音视频情况; 能够对以上所有视频信号进行长时间的音视频录像,局域网中的计算机能够随时调看历史录像资料; 具备完善的安全级别控制,实现完善的安全策略管理; 支持在监控中心将所有视频图像输出到电视墙显示,具备视频矩阵功能,支持大容量的系统扩容; 2、方案设计原则 根据项目的要求和国家有关法规的要求,我们经过认真研究、分析设计本系统方案。该系统具有性能先进、质量可靠、经济实用等特点,而且该系统具有方便扩展、与其它信息系统实现无缝连接的能力。为实现安防系统的可视化管理奠定了基础。 依据、参考的相关规范包括:

实验一 wireshark抓包工具使用

实验一wireshark抓包工具使用[实验目的] 学习wireshark抓包工具的使用 了解wireshark抓包工具的功能 通过学习,进一步理解协议及网络体系结构思想 [实验原理] Wireshark是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。 主要应用: 网络管理员用来解决网络问题 网络安全工程师用来检测安全隐患 开发人员用来测试协议执行情况 用来学习网络协议 [实验内容] 下载WIRESHARK,学习工具的使用和功能。

Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。 你可以把网络包分析工具当成是一种用来测量有什么东西从网线上进出的测量工具,就好像使电工用来测量进入电信的电量的电度表一样。(当然比那个更高级) 过去的此类工具要么是过于昂贵,要么是属于某人私有,或者是二者兼顾。 Wireshark出现以后,这种现状得以改变。 Wireshark可能算得上是今天能使用的最好的开元网络分析软件。 工作流程 (1)确定Wireshark的位置。如果没有一个正确的位置,启动Wireshark后会花费很长的时间捕获一些与自己无关的数据。 (2)选择捕获接口。一般都是选择连接到Internet网络的接口,这样才可以捕获到与网络相关的数据。否则,捕获到的其它数据对自己也没有任何帮助。 (3)使用捕获过滤器。通过设置捕获过滤器,可以避免产生过大的捕获文件。这样用户在分析数据时,也不会受其它数据干扰。而且,还可以为用户节约大量的时间。 (4)使用显示过滤器。通常使用捕获过滤器过滤后的数据,往往还是很复杂。为了使过滤的数据包再更细致,此时使用显示过滤器进行过滤。 (5)使用着色规则。通常使用显示过滤器过滤后的数据,都是有用的数据包。如果想更加突出的显示某个会话,可以使用着色规则高亮显示。 (6)构建图表。如果用户想要更明显的看出一个网络中数据的变化情况,使用图表的 形式可以很方便的展现数据分布情况。

某公司局域网设计方案

局域网课程设计 某公司局域网设计方案学院 课题某公司局域网设计方案姓名 组员 专业/班级 实训时间 成绩评定 指导老师 目录

1.公司概况 1.1公司简介 该公司成立2014年,公司是一家生产、经营电子工具、塑胶制品、工业装备及辅助材料的专业化公司。为现代化企业的生产和管理提供优质服务,并最大限度地降低物流仓储成本,实现理想的物流仓储系统工程,是本行业的优秀代表。 “深思熟虑的结构设计,一丝不苟的生产、质量上的严格把关“是本公司坚定不移的原则,正是这一点使我们成为行业中的佼佼者,客户从我们产品中得到的竞争力的强化也逐渐体现出来,为我们奠定了一个长期的发展基础。 1.2公司结构 总经理办公室(总经理1名)销售部(销售部经理1名其他人员20名) 财务部(财务部经理1名其他人员5名)物流部(物流部经理1名其他人员20名) 后勤部(后勤部经理1名其他人员10名)市场部(市场部经理1名其他人员10名) 技术部(技术部经理1名其他人员10名) 1.3公司资产:100万 1.4公司主营:电子工具、塑胶制品、工业装备及辅助材料

2.公司需求分析 企业共有员工91人,欲实现平均2人拥有一台办公电脑。现已将公司分为6个部门,其中销售部门占用2个办公室,其他各部门各占用一个。电脑分配如下:总经理办公室1台笔记本电脑;财务部5台台式机(以下皆为台式机);技术部5台;后勤部5台;市场部5台;销售部共10台(2个办公室分别为5和5台);物流部5台(注:因物流部主要负责货物运输与产品进购,因此对电脑需求较轻,故只分配5台)因本企业规模较小,资产较少,故只购买廉价经济的台式机。其他网络配件(路由器,交换机等)也应尽量往经济实用型靠近。 图1 办公楼结构图 表1办公楼员工数量及房间分配表

网络嗅探器设计

目 录 一、什么是嗅探器 二、嗅探器的作用 三、网络嗅探器原理 四、反嗅探技术 五、网络嗅探器的设计 六、总结: 一、什么是嗅探器 嗅探器,可以理解为一个安装在计算机上的窃听设备它可以用来窃听计算机在网络上所产生的众多的信息。简单一点解释:一部电话的窃

听装置, 可以用来窃听双方通话的内容,而计算机网络嗅探器则可以窃听计算机程序在网络上发送和接收到的数据。 可是,计算机直接所传送的数据,事实上是大量的二进制数据。因此, 一个网络窃听程序必须也使用特定的网络协议来分解嗅探到的数据, 嗅探器也就必须能够识别出那个协议对应于这个数据片断,只有这样才能够进行正确的解码。 计算机的嗅探器比起电话窃听器,有他独特的优势: 很多的计算机网络采用的是“共享媒体"。也就是说,你不必中断他的通讯,并且配置特别的线路,再安装嗅探器,你几乎可以在任何连接着的网络上直接窃听到你同一掩码范围内的计算机网络数据。我们称这种窃听方式为“基于混杂模式的嗅探”(promiscuous mode) 。 尽管如此,这种“共享” 的技术发展的很快,慢慢转向“交换” 技术,这种技术会长期内会继续使用下去, 它可以实现有目的选择的收发数据。 二、嗅探器的作用 嗅探器是网络的抓包工具,可以对网络中大量数据抓取,从而方便使用者对网络中用户的一些信息进行分析,所以,通常被黑客运用于网络攻击。我们如果也能掌握网络嗅探器的原理和设计,可以将它运用与网络故障检测、网络状况的监视,还可以加强企业信息安全防护。三、网络嗅探器原理 嗅探器是如何工作的?如何窃听网络上的信息? 网络的一个特点就是数据总是在流动中,从一处到另外一处,而互联网是由错综复杂的各种网络交汇而成的,也就是说:当你的数据从网络的一台电脑到另一台电脑的时候,通常会经过大量不同的网络设备,(我们用tracert命令就可以看到这种路径是如何进行的)。如果传输过程中,有人看到了传输中的数据,那么问题就出现了——这就好比给人发了一封邮件,在半路上被人拆开偷看一样,这样说或许还不是很可怕,那要是传送的数据是企业的机密文件那,或是用户的信用卡帐号和密码呢……? 嗅探侦听主要有两种途径,一种是将侦听工具软件放到网络连接的

网络准入控制系统、局域网接入控制软件使用方法

网络准入控制系统、局域网接入控制软件使用方法 大势至网络准入控制系统(百度自己搜索下载吧)是一款面向企事业单位的局域网网络安全防护系统,可以防止蹭网、禁止非单位电脑接入局域网、进行IP和MAC绑定、禁止局域网代理、防止网络嗅探等。具体设置如下: 安装步骤 首先运行LANProtector.exe,安装主程序,直接点击下一步直至完成即可;然后运行winpcap.exe,安装抓包程序,同样直接下一步; 如果有加密狗,则需要安装加密狗驱动(试用版无需安装)。 配置方法 依次点击开始-程序-大势至网络准入控制系统,初次使用需要配置网段,点击软件左上角“配置网段”,如果您只有一个网段选择“配置单网段”,然后选择当前上网所用网卡,最后点击确定。

图:添加单网段 如果您有多个网段,则您需要选择“配置多网段”,然后添加各个网段对应的IP 段即可。如下图所示:

添加多网段 添加完毕之后,点击“确定”,然后点击“启动管理”即可,点击后面的”停止监控“即可实时停止控制。 (三)功能说明 1、黑名单与白名单 点击“启动管理”后,即可扫描到所有主机,同时扫描到的主机默认都在黑名单显示,您可以按住shift键全选,然后点击下面的“移至白名单”即可将所有主机移动到白名单,反之您也可以将单个或部分主机选中后点击“移至黑名单”即可移动到黑名单。如下图所示: 2、隔离选项

可选择“禁止黑白名单互访”和“禁止黑名单访问外网”。其中“禁止黑白名单互访”不仅可以阻止黑名单电脑访问白名单电脑,而且还可以阻止白名单电脑主动访问黑名单电脑,从而实现双向隔离;而“禁止黑名单电脑访问外网”是禁止黑名单电脑访问互联网。 3、隔离强度 这里可以选择:高、中、弱等三个选项,分别代表软件的隔离强度。 4、IP变更时自动隔离 勾选后,一旦白名单电脑修改IP地址,则自动会将其放入黑名单并自动隔离,以此实现禁止电脑修改IP地址的目的。 5、静态绑定IP和MAC 勾选“静态绑定IP和MAC”并点击“管理”,弹出“IP和MAC静态绑定表”,如果点击“从白名单获取”,则系统自动获取当前白名单电脑的IP和MAC地址,也可点击“手工添加绑定”并自行输入要绑定的IP地址和MAC地址,最后点击“保存配置”即可。

行政单位办公局域网规划与设计

行政事业单位网络建设与管理 客户情况 1、某行政单位现欲建设办公局域网络。 2、其申请了一条电信的公网出口,单位现有员工三十多名,共分为三个办公室:财务部、宣传部、有关部门,平均每人一台电脑,其中财务部的电脑不能访问公网。 3、此外,单位还有3台服务器,一台WEB服务器(域名已经注册)对公网开放。两台台SQL服务器,用于保存和备份账务等。 办公网络的规划设计 1.网络拓扑的设计 网络拓扑是指单位网络中各节点间相互连接的方式。换句话说,网络中计算机之间如何相互连接的问题就是网络的拓扑结构问题。网络布线中应用最为广泛的是树形拓扑。拓扑结构的选择往往与通信介质的选择和介质访问控制方法的确定紧密相关,并决定着对网络设备

的选择。 大中型网络通常采用树形拓扑。树形拓扑的可折叠性非常适用于构建网络主干。由于树形拓扑具有非常好的可扩展性,并可通过更换集线设备使网络性能迅速得以升级,极大地保护了用户的布线投资,因此非常适宜于作为网络布线系统的网络拓扑。与此相适应,集线设备也呈树形拓扑。 树形拓扑事实上是星形拓扑的扩展,该拓扑结构拥有以下优点: A.易于故障的诊断 集线设备居于网络或子网络的中心,这也正是放置网络诊断设备的绝好位置。就实际应用来看,利用附加于集线设备中的网络诊断设备,可以使得故障的诊断和定位变得简单而有效。 B.易于网络的升级 由于计算机与集线设备之间分别通过各自独立的缆线进行连接,因此,多台计算机之间可以并行地同时进行通信而互不干扰,从而成倍地提高了网络传输效率。另外,由于网络带宽主要受集线设备的影响,只需简单地更换高速率的集线设备,即可平滑地从l0Mbit/s升级至100Mbit/s、1000Mbit/s甚至10000 Mbit/s,实现网络的升级。正是由于这两条重要的特点,星型网络才会成为网络布线的当然之选。 根据该单位的实际情况,我们推荐采用星形拓扑结构。 2.单位网络的一般结构 网络分布架构与入网计算机的节点数量和网络分布情况直接相关。 如果所建设的局域网在规模上是一个由数百台至上千台入网节点计算机组成的网络,在空间上跨越在一个园区的多个建筑物,则称这样的网络为大型局域网。对于大型局域网,通常在设计上将它组织成为核心层、汇聚层和接入层分别考虑。接入层节点直接连接用户计算机,它通常是一个部门或一个楼层的交换机;汇聚层的每个节点可以连接多个接入层节点,通常它是一个建筑物内连接多个楼层交换机或部门交换机的总交换机;核心层节点在逻辑上只有一个,它连接多个汇聚层交换机,通常是一个园区中连接多个建筑物的总交换机的核心网络设备。 如果所建设的局域网是由空间上集中的几十台计算机构成的小型局域网,在逻辑上可以不用考虑分层,使用一组或一台交换机连接所有的入网节点即可。 单位局域网的带宽需求: 接着确定局域网的带宽。一般而言,百兆位以太网足能够满足网络数据流量不是很大小

WFilter局域网监控软件

WFilter局域网监控软件 ————监控局域网内一切网络行为 局域网网络行为监控介绍 WFilter是为企业量身定做的上网行为管理系统。可对局域网内所有电脑使用互联网的情况进行有效的管理和控制。 安装监控软件,可以做到: ?监控、备份局域网内所有网站浏览、邮件内容、聊天内容、文件传输内容等信息,供需要时查询。 ?可以禁止指定网站、指定邮箱,禁止聊天软件以及文件传输的使用,避免员工对外泄漏公司机密商业资料,造成公司损失。 ?可以禁止使用P2P下载软件、流媒体及在线播放软件、网络游戏、股票软件等,大幅度提升员工上网办事效率。 ?可以对每个员工设置不同的上网级别,规定每个员工的网络使用权限等。 ?实时的在线聊天,在线文件监控,流量监控,使用者一眼就可以掌握网络使用概况。 ?详尽的员工上网统计报表,可供管理部门作为对员工的考评依据。 界面截图

WFilter局域网监控软件功能简介 ?监控、备份局域网内电脑的上网记录。 o监控局域网内QQ、MSN、ICQ、AIM、YAHOO的聊天内容以及上下线记录。 o记录网站浏览历史以及通过论坛发贴、web邮件、通过网页上传的文件等等。 o记录收发邮件的邮箱,主题,正文内容,并记录附件内容。 o记录通过web、FTP、MSN、QQ、Yahoo、ICQ、AIM等的文件传输。 ?对上网内容进行过滤和封堵。 o禁止聊天:禁止MSN,QQ等30多种聊天软件;并且可以限制登陆的ID 号。 o禁止收发邮件:禁止收发邮件;并且可以限制允许使用的邮箱。 o网站过滤:基于网站所属分类进行限制,内置50多种分类,可以满足各种管理需要。 o禁止文件传输:禁止各种文件上传,下载。

某单位局域网设计和施工方案

目录 摘要: (1) 1 绪论 (1) 1.1研究背景 (1) 1.2主要工作 (1) 1.3本文结构 (1) 2 系统实现 (2) 2.1需求分析 (2) 2.1.1办公网建设的重要性 (2) 2.1.2公司对办公网络的需求 (2) 2.2方案设计 (2) 2.2.1设计原则 (2) 2.3网络设备选型 (3) 2.3.1路由器 (3) 2.3.2交换机 (3) 2.3.3服务器 (4) 2.4网络规划 (4) 2.4.1拓扑结构 (4) 2.4.2软件规划 (4) 2.4.3 IP地址规划 (4) 3 设计与实现 (4) 3.1拓扑图和机柜图 (4) 3.2配置信息 (6) 3.2.1二层交换机的配置 (6) 3.3服务器选型 (8) 3.4设备清单及预算 (10) 3.5施工进度安排 (10) 4 结束语 (10)

某单位局域网设计和施工方案 摘要:随着办公信息化、自动化的需求,各单位为提高办公效率,促进信息交流,适应现代化办公的要求,需要组建单位局域网。组建单位局域网所涉及的方方面面很多,首先需要一个正确的设计规划,然后需要处理布线、网络设备选型与配置、服务器设备选型与配置、网络软件的安装等方面,这都需要按部就班的逐一实现,最后还需要进行正常的日常维护,本文就如何规划和设计企业局域网进行浅述。 关键词:局域网规划;局域网设计;拓扑结构;网络设备选型 1 绪论 1.1 研究背景 以某单位为背景设计一个简单的局域网,该单位有办公部门、财务部门、市场部门、技术部门、和生产等部门。现在为该单位组建局域网,包括Web、文件共享、邮件等服务器系统。 通过调查得知该单位网络需求如下: Web和邮件能连接互联网; 市场和技术部门可以连接互联网; 其他部门仅能连接局域网; 相互之间进行访问或访问单位内的服务器; 外网用户仅能直接访问该单位的Web服务; 1.2主要工作 本设计根据该单位的实际情况,设计单位局域网,能够实现Web和邮件能连接互联网,市场和技术部门可以连接互联网,其他部门仅能连接局域网,相互之间进行访问或访问单位内的服务器,外网用户仅能直接访问该单位的Web服务,确保局域网安全,提高网络质量,优化网络结构。 1.3本文结构 本文第1部分绪论主要说明了本文的研究背景和主要工作。第2部分系统实现,说明了需求分析、单位对办公网络的需求和施工方案的设计原则,及相关网络设备的选型。第3部分设计与实现,介绍了网络设备的拓扑图和相关设备的配置及设备的采购与施工安排。第4部分结束语。

【小技巧】wireshark定位抓包与定位查看

【实用技巧】wireshark过滤抓包与过滤查看在分析网络数据和判断网络故障问题中,都离不开网络协议分析软件(或叫网络嗅探器、抓包软件等等)这个“利器”,通过网络协议分析软件我们可以捕获网络中正常传输哪些数据包,通过分析这些数据包,我们就可以准确地判断网络故障环节出在哪。网络协议分析软件众多,比如ethereal(wireshark的前身),wireshark,omnipeek,sniffer,科来网络分析仪(被誉为国产版sniffer,符合我们的使用习惯)等等,本人水平有限,都是初步玩玩而已,先谈谈个人对这几款软件使用感受,wireshark(ethereal)在对数据包的解码上,可以说是相当的专业,能够深入到协议的细节上,用它们来对数据包深入分析相当不错,更重要的是它们还是免费得,但是用wireshark(ethereal)来分析大量数据包并在大量数据包中快速判断问题所在,比较费时间,不能直观的反应出来,而且操作较为复杂。像omnipeek,sniffer,科来网络分析仪这些软件是专业级网络分析软件,不仅仅能解码(不过有些解码还是没有wireshark专业),还能直观形象的反应出数据情况,这些软件会对数据包进行统计,并生成各种各样的报表日志,便于我们查看和分析,能直观的看到问题所在,但这类软件是收费,如果想感受这类专业级的软件,我推荐玩科来网络分析仪技术交流版,免费注册激活,但是只能对50个点进行分析。废话不多说,下面介绍几个wireshark使用小技巧,说的不好,还请各位多指点批评。 目前wireshark最新版本是1.7的,先简单对比下wireshark的1.6和1.7版本。 下面是wireshark的1.6版本的界面图:

《网络嗅探器》课程设计报告

《网络与信息安全技术》课程报告 课题名称:网络嗅探器提交报告时间:2010年12月17 日 网络嗅探器 专业 组号指导老师 [摘要]随着网络技术的飞速发展,网络安全问题越来越被人重视。嗅探技术作为网络安全攻防中最基础的技术,既可以用于获取网络中传输的大量敏感信息,也可以用于网络管理。通过获取网络数据包的流向和内容等信息,可以进行网络安全分析和网络威胁应对。因此对网络嗅探器的研究具有重要意义。 本课程设计通过分析网络上常用的嗅探器软件,在了解其功能和原理的基础上,以VC为开发平台,使用Windows环境下的网络数据包捕获开发库WinPcap,按照软件工程的思想进行设计并实现了一个网络嗅探工具。该嗅探工具的总体架构划分为5部分,分别是最底层的数据缓存和数据访问,中间层的数据捕获,协议过滤,协议分析和最顶层的图形画用户界面。 本嗅探器工具完成了数据包捕获及分析,协议过滤的主要功能,实现了对网络协议,源IP 地址,目标IP地址及端口号等信息的显示,使得程序能够比较全面地分析出相关信息以供用户参考决策。 关键词:网络嗅探;WinPcap编程接口;数据包;网络协议;多线程 (中文摘要在150字左右。摘要正文尽量用纯文字叙述。用五号宋体字。姓名与摘要正文之间空二行。关键词与摘要之间不空行。“摘要”这两个字加粗) 关键词:入侵检测系统;感应器;分析器;分布式入侵检测系统模型 Network sniffer Major: software engineering Group Number: 29 [Abstract] With the rapid development of network technology, network security is increasingly being attention. Sniffing network security technology as the most basic offensive and defensive

某公司行政中心局域网系统设计

山东建筑大学 课程设计说明书 题目:某公司行政中心局域网系统设计课程:数据通信与计算机通信网课程设计院(部):信息与电气工程学院 专业:通信工程 班级:通信111 学生姓名: 学号: 指导教师: 完成日期:2014年12月

目录 正文 (1) 1 设计目的 (1) 2 设计要求 (1) 3 设计内容 (1) 3.1系统需求分析 (1) 3.2方案设计 (3) 3.2.1总体设计 (3) 3.2.2各部分配置 (4) 3.2.3测试网络 (6) 3.2.4网络操作系统的选择 (9) 3.2.5网络安全 (9) 总结与致谢 (10) 参考文献 (11)

计算机网络就是利用通信设备和线路将处于不同地理位置的、功能独立的多个计算机系统连接起来,以功能完善的网络软件(即网络通信协议、网络操作系统等)实现网络资源共享和信息传递的系统。通俗地讲就是由多台计算机(或其它计算机网络设备)通过传输介质和软件物理(或逻辑)连接在一起组成的。总的来说计算机网络的组成基本上包括:计算机、网络操作系统、传输介质(可以是有形的,也可以是无形的,如无线网络的传输介质就是看不见的电磁波)以及相应的应用软件四部分。 局域网是一种小范围内的网络,是网络的组成细胞。一个网络有时就是由大大小小的局域网互连而成的,人们在工作与生活中,经常使用的是局域网。例如,在一个公司行政中心里组建一个可以资源共享的小型办公局域网。本次设计即完成一个公司行政中心局域网系统的设计。 关键词:局域网;IP地址;DHCP

1 设计目的 本次设计要求完成一个行政中心局域网系统的设计,以实现相应功能。目的是将理论与实践有机结合起来,通过课程设计,进一步巩固和加强对理论的理解和认识,同时提高实际操作能力。 2 设计要求 1.本楼宇局域网由四层楼组成,共计有100台电脑需要接入网络,但是该中心只分配80个IP。 2.网络传输媒体的选择,交换机类型选择,网络操作系统的选择,DNS以及WWW服务器的设置;中心机房位置选择,相关综合布线要求,网络安全措施; 3 设计内容 3.1系统需求分析 (1)IP地址的分配,采用DHCP技术。 (2)网络传输媒体的选择,交换机类型选择。 1)网络传输媒体选择:这里选择有线传输介质双绞线中的直通线与交叉线。 2)交换机类型选择:这里选择CISCO Catalyst 2950-24智能交换机和CISCO WS-C3560-24PS企业级交换机。参数如下: CISCO Catalyst 2950-24基本参数 产品类型:快速以太网交换机 传输速率:10/100Mbps 交换方式:存储转发 背板带宽:8.8Gbps 端口数量:24 接口介质:10BASE-T/10BASE -TX 3类或3类以上UTP ,100BASE-TX五类。 传输模式:支持全双工

以太网常用抓包工具介绍_464713

v1.0 可编辑可修改 i RTUB_105_C1 以太网常用抓包工具介绍 课程目标: 课程目标1:了解常见抓包软件 课程目标2:掌握根据需要选择使用抓包软件并分析报文

v1.0 可编辑可修改 目录 第1章以太网常用抓包工具介绍.............................................................................................................. 1-1 1.1 摘要 ................................................................................................................................................ 1-1 1.2 简介 ................................................................................................................................................ 1-1 1.3 抓包工具介绍 ................................................................................................................................ 1-2 1.4 Sniffer使用教程 .......................................................................................................................... 1-3 1.4.1 概述 ..................................................................................................................................... 1-3 1.4.2 功能简介 ............................................................................................................................. 1-3 1.4.3 报文捕获解析 ..................................................................................................................... 1-4 1.4.4 设置捕获条件 ..................................................................................................................... 1-8 1.4.5 报文放送 ........................................................................................................................... 1-10 1.4.6 网络监视功能 ................................................................................................................... 1-12 1.4.7 数据报文解码详解 ........................................................................................................... 1-14 1.5 ethreal的使用方法 .................................................................................................................... 1-28 1.5.1 ethreal使用-入门 ......................................................................................................... 1-28 1.5.2 ethereal使用-capture选项 ......................................................................................... 1-30 1.5.3 ethereal的抓包过滤器 ................................................................................................... 1-31 1.6 EtherPeekNX ................................................................................................................................ 1-35 1.6.1 过滤条件设置 ................................................................................................................... 1-35 1.6.2 设置多个过滤条件 ........................................................................................................... 1-41 1.6.3 保存数据包 ....................................................................................................................... 1-45 1.6.4 分析数据包 ....................................................................................................................... 1-47 1.6.5 扩展功能 ............................................................................................................................. 1-1 1.6.6 简单分析问题的功能 ......................................................................................................... 1-5 1.6.7 部分解码功能 ..................................................................................................................... 1-9 1.6.8 案例 ..................................................................................................................................... 1-1 1.7 SpyNet ............................................................................................................................................ 1-1 1.7.1 使用简介 ............................................................................................................................. 1-1 1.7.2 使用步骤: ......................................................................................................................... 1-2 i

相关主题
文本预览
相关文档 最新文档