资源简介
java 版抓包工具源代码,找了好久的java版数据包的捕获分析工具

代码片段和文件信息
/*
* Created on Apr 4 2003
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package jdumper;
import java.io.File;
import java.net.InetAddress;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Vector;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import jdumper.stat.JDStatisticsTaker;
import jdumper.ui.JDCaptureDialog;
import jdumper.ui.JDContinuousStatframe;
import jdumper.ui.JDCumlativeStatframe;
import jdumper.ui.JDframe;
import jdumper.ui.JDStatframe;
import jpcap.JpcapCaptor;
import jpcap.PacketReceiver;
import jpcap.JpcapWriter;
import jpcap.packet.IPPacket;
import jpcap.packet.Packet;
/**
* @author kfujii
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class JDCaptor {
long MAX_PACKETS_HOLD=10000;
List packets = new ArrayList();
JpcapCaptor jpcap=null;
boolean isLiveCapture;
boolean isSaved = false;
JDframe frame;
public void setJDframe(JDframe frame){
this.frame=frame;
}
public List getPackets(){
return packets;
}
public void capturePacketsFromDevice() {
if(jpcap!=null)
jpcap.close();
jpcap = JDCaptureDialog.getJpcap(frame);
clear();
if (jpcap != null) {
isLiveCapture = true;
frame.disableCapture();
startCaptureThread();
}
}
public void loadPacketsFromFile() {
isLiveCapture = false;
clear();
int ret = JpcapDumper.chooser.showOpenDialog(frame);
if (ret == JFileChooser.APPROVE_OPTION) {
String path = JpcapDumper.chooser.getSelectedFile().getPath();
try {
if(jpcap!=null){
jpcap.close();
}
jpcap = JpcapCaptor.openFile(path);
} catch (java.io.IOException e) {
JOptionPane.showMessageDialog(
frame
“Can‘t open file: “ + path);
e.printStackTrace();
return;
}
frame.disableCapture();
startCaptureThread();
}
}
private void clear(){
packets.clear();
frame.clear();
for(int i=0;iames.size();i++)
((JDStatframe)sframes.get(i)).clear();
}
public void saveToFile() {
if (packets == null)
return;
int ret = JpcapDumper.chooser.showSaveDialog(frame);
if (ret == JFileChooser.APPROVE_OPTION) {
File file = JpcapDumper.chooser.getSelectedFile();
if (file.exists()) {
if (JOptionPane
.showConfirmDialog(
frame
“Overwrite “ + file.getName() + “?“
“Overwrite?“
JOptionPane.YES_NO_OPTION)
== JOptionPane.NO_OPTION) {
return;
}
}
try {
//System.out.println(“link:“+info.linktype);
//System.out.println(lastJpcap);
JpcapWriter writer = JpcapWriter.openDumpFile(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 693 2007-06-08 00:27 JpcapDumper\build.xm
文件 26432 2006-01-09 13:31 JpcapDumper\COPYING
文件 3804 2006-01-09 22:41 JpcapDumper\doc\document.html
文件 5260 2006-01-09 22:41 JpcapDumper\doc\donation.html
文件 5232 2006-01-09 22:41 JpcapDumper\doc\download.html
文件 3799 2006-01-09 22:41 JpcapDumper\doc\faq.html
文件 6445 2006-01-09 22:41 JpcapDumper\doc\index.html
文件 5032 2006-01-09 22:41 JpcapDumper\doc\install.html
文件 4683 2006-01-09 22:41 JpcapDumper\doc\li
文件 3981 2006-01-09 22:41 JpcapDumper\doc\screenshot.html
文件 87247 2003-04-08 17:52 JpcapDumper\doc\screenshot.PNG
文件 625 2007-06-08 00:45 JpcapDumper\JpcapDumper.jnlp
文件 56 2006-01-09 13:31 JpcapDumper\JpcapDumper.MF
文件 201 2007-06-07 19:01 JpcapDumper\JpcapDumper.property
文件 1262 2007-06-08 00:12 JpcapDumper\kfujii.dat
文件 1021 2003-04-04 12:07 JpcapDumper\src\image\capture.gif
文件 986 2003-04-04 12:07 JpcapDumper\src\image\nic.gif
文件 154 2003-04-04 12:07 JpcapDumper\src\image\open.gif
文件 148 2003-04-04 12:07 JpcapDumper\src\image\save.gif
文件 1001 2003-04-04 12:07 JpcapDumper\src\image\stopcap.gif
文件 2436 2006-01-09 13:31 JpcapDumper\src\jdumper\analyzer\ARPAnalyzer.java
文件 1194 2006-01-09 13:31 JpcapDumper\src\jdumper\analyzer\EthernetAnalyzer.java
文件 719 2006-01-09 13:31 JpcapDumper\src\jdumper\analyzer\FTPAnalyzer.java
文件 1600 2006-01-09 13:31 JpcapDumper\src\jdumper\analyzer\HTTPAnalyzer.java
文件 2634 2006-01-09 13:31 JpcapDumper\src\jdumper\analyzer\ICMPAnalyzer.java
文件 2734 2007-06-07 23:29 JpcapDumper\src\jdumper\analyzer\IPv4Analyzer.java
文件 1789 2006-01-09 13:31 JpcapDumper\src\jdumper\analyzer\IPv6Analyzer.java
文件 616 2006-01-09 13:31 JpcapDumper\src\jdumper\analyzer\JDPacketAnalyzer.java
文件 1145 2006-01-09 13:31 JpcapDumper\src\jdumper\analyzer\PacketAnalyzer.java
文件 655 2006-01-09 13:31 JpcapDumper\src\jdumper\analyzer\POP3Analyzer.java
............此处省略42个文件信息
- 上一篇:编译原理语义分析java实现
- 下一篇:JAVA写的邮局选址问题程序源码
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论