用java写个嗅探程序

zhouxingyu896 2008-12-05 08:55:06
用java写个嗅探程序,思路和需要哪些中间插件
...全文
81 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
挨踢民工_0917 2008-12-08
  • 打赏
  • 举报
回复
jpcap

package com;

import java.io.IOException;

import jpcap.JpcapCaptor;
import jpcap.NetworkInterface;


public class Test {
public static void getAllDevice() throws IOException{
NetworkInterface[] advices = JpcapCaptor.getDeviceList();
for (int i = 0; i < advices.length; i++)
System.out.println(i + ":" + advices[i].name+ getString((advices[i].mac_address))+ "("
+ advices[i].description + ")");
JpcapCaptor cap = JpcapCaptor.openDevice(advices[1], 200000, false, 3000);
cap.setFilter("tcp", true);
cap.processPacket(1, new Myprocess());
//Packet packet = cap.getPacket();

//System.out.println(bytes);
}

public static void main(String[] a){
System.out.println(7<<4);
System.out.println("获得网络设备如下:");
try {
getAllDevice();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static String getString(byte[] b){
String mak ="";
for(int i = 0;i<b.length;i++){
//System.out.println(b[i]);
String mac_hex16 = Integer.toHexString(b[i]&0xff);
if(mac_hex16.length()!=2){
mac_hex16="0"+mac_hex16;
}
//System.out.println(mac_hex16);
mak=mak+mac_hex16+":";
}
System.out.println(mak);
return mak;
}
}

Myprocess.java

package com;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.math.BigInteger;

import com.sun.org.apache.xerces.internal.impl.dv.xs.IntegerDV;

import jpcap.PacketReceiver;
import jpcap.packet.Packet;

public class Myprocess implements PacketReceiver {

public void receivePacket(Packet packet) {
// byte[] byts = p.data;
try{
byte[] bytes = packet.data ;
// for(int a = 0 ;a<bytes.length;a++)
// {
// System.out.println(Integer.toBinaryString(Integer));
// }
BigInteger bi = new BigInteger(bytes);
System.out.println(bi.toString(2));
System.out.println(packet);
FileOutputStream fw = new FileOutputStream(new File("C://date.dat"),false);
BufferedOutputStream bo = new BufferedOutputStream(fw);
bo.write(bytes);
bo.flush();
bo.close();
System.out.println(new String(bytes));
}catch(Exception e){}

}

}
leo_bogard 2008-12-08
  • 打赏
  • 举报
回复
up
jofy1004 2008-12-05
  • 打赏
  • 举报
回复
haha```
myjava_024 2008-12-05
  • 打赏
  • 举报
回复
用java写个嗅探程序,思路和需要哪些中间插件?

楼主,您想嗅探什么东东啊
muyu114 2008-12-05
  • 打赏
  • 举报
回复
说情出点吗
runshine 2008-12-05
  • 打赏
  • 举报
回复
[Quote=引用楼主 zhouxingyu_kingstar 的帖子:]
# zhouxingyu_kingstar
#
# 等级:
# 可用分等级:长工
# 总技术分:16
# 总技术分排名:199413
# 结帖率:102.27%
[/Quote]

LZ结贴率102.27是怎么做到的....O_O!

你准备嗅探什么?

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧