基于java的网络抓包方法.txt偶尔要回头看看,否则永远都在追寻,而不知道自己失去了什么。男人掏钱是恋人关系,女人掏钱是夫妻关系,男女抢着掏钱是朋友关系。男人爱用眼睛看女人,最易受美貌迷惑;女人爱用心看男人,最易受伤心折磨。 基于java的网络抓包方法 一、实验内容描述本实验是用java实现的网络抓包程序,在windows环境下安装winpcap4.0和jpcap6.0后,下载eclipse和jigloo插件(一种在eclipse底下作图形化开发的工具),将其安装好,然后就可以进行java的网络抓包图形化开发了。二、原理与关键技术2.1 网络抓包技术原理网络层上有各种各样的数据包,它们以不同的帧格式在网络层上进行传输,但是在传输时它们都遵循相同的格式,即有相同的长度,如果一种协议的帧格式达不到这种长度,就让其补齐,以达到我们的要求。2.2 网络抓包关键技术无论是在windows操作系统下还是在linux操作系??下,要想捕获网络上的数据包,必须要对网卡进行控制,因为本机的数据报从网络上来到本机是通过网卡然后再保存到本地缓冲区上的,所以要抓获网包就必须调用网卡驱动中的对外函数,在linux系统中有net.h文件,可以调用net.h文件中的函数来操作网卡,可以直接编程实现,但为了更方便的使用,可以安装一个叫libpcap的软件,这样调用函数更好用,而在windows系统中,因为源代码不对外公开,所以要安装一个叫winpcap的软件,这样用C或VC++就可以实现了,但因为我用的是java语言来实现的,所以无论是在哪个系统都要安装一个叫jpcap的软件,它本身就把底层的函数又封装了一下,这样就可以让java来使用了。三、设计与实现3.1 基于java的设计方案我的这个网络抓包程序是图形化操作界面,在菜单栏点击抓包按钮后选择网卡和过滤字还有最长字长,点击开始,然后就可以开始抓包了,在主界面中就会显示出一行又一行的数据,这些数据就是抓获到的数据包。3.2 具体实现1、安装winpcap4.0和jpcap6.02、下载eclipse3.3和jigloo,jigloo是eclipse底下的插件,是用来支持eclipse底下的java 图形化开发的。3、编写java抓包程序:建立三个文件,一个主程序,一个抓包程序,一个抓包选项程序对话框程序第一个程序:主程序如下package netcap;import java.awt.event.ActionEvent;import java.awt.event.ActionListener; import javax.swing.JSeparator;import javax.swing.JMenuItem;import javax.swing.JMenu;import javax.swing.JMenuBar; import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.table.*;import netcap.*;import jpcap.*;import jpcap.packet.*;import java.util.*;import java.sql.Timestamp;
public class JFrameMain extends javax.swing.JFrame implements ActionListener{ private JMenuItem exitMenuItem; private JSeparator jSeparator2; private JMenuItem saveAsMenuItem; private JMenuItem saveMenuItem; private JMenuItem stopMenuItem; private JMenuItem startMenuItem; private JMenu Menu; private JMenuBar jMenuBar1; JTable tabledisplay = null; Vector rows,columns; DefaultTableModel tabModel; JScrollPane scrollPane; JLabel statusLabel; Netcaptor captor = new Netca