WebPacket webPacket = new WebPacket();
webPacket.setAddresses(this.addresses);//监听网卡地址
EthernetPacket ethernetPacket = (EthernetPacket) packet.datalink;
webPacket.setSource_mac(ethernetPacket.getSourceAddress());//请求硬件地址
webPacket.setDest_mac(ethernetPacket.getDestinationAddress());//目标硬件地址
if("class jpcap.packet.ARPPacket".equals(packet.getClass().toString())){
ARPPacket arppacket = (ARPPacket) packet;
webPacket.setCaplen(arppacket.len);//网络包长度
webPacket.setHeader_data(arppacket.header);//报文头部信息
webPacket.setPacket_data(arppacket.data);//报文数据
webPacket.setReceive_date(new Timestamp(arppacket.sec*1000+arppacket.usec/1000));//收报时间
}else{
IPPacket ippacket = (IPPacket) packet;
webPacket.setSource_ip(ippacket.src_ip.getHostAddress());//请求IP地址
webPacket.setDest_ip(ippacket.dst_ip.getHostAddress());//目标IP地址
webPacket.setProtocol(ippacket.protocol);//网络协议
webPacket.setPriority(ippacket.priority);//优先级
webPacket.setVersion(ippacket.version);//版本
webPacket.setHop_limit(ippacket.hop_limit);//生存时间
webPacket.setIdent(ippacket.ident);//分组标识
webPacket.setCaplen(ippacket.len);//网络包长度
webPacket.setDatalen(ippacket.length);//数据包长度
webPacket.setHeader_data(ippacket.header);//报文头部信息
webPacket.setPacket_data(ippacket.data);//报文数据
webPacket.setReceive_date(new Timestamp(ippacket.sec*1000+ippacket.usec/1000));//收报时间
//System.out.println("服务类型(TOS) (v4/v6):"+ippacket.rsv_tos);
//System.out.println(ippacket);
if(ippacket.protocol == 6){
TCPPacket tcppacket =(TCPPacket) ippacket;
webPacket.setSrc_port(tcppacket.src_port);//源端口
webPacket.setDst_port(tcppacket.dst_port);//目标端口
}
if(ippacket.protocol == 17){
UDPPacket udppacket =(UDPPacket) ippacket;
webPacket.setSrc_port(udppacket.src_port);//源端口
webPacket.setDst_port(udppacket.dst_port);//目标端口
}
}
this.dataLoger.saveLog(webPacket);
}
/**
*日志时间信息
* @return:日志内容时间
*/
private static String currentTime(){
Date d = new Date();
SimpleDateFormat kk=new SimpleDateFormat("mm:ss");
String strTime=kk.format(d);
return strTime;
}
}
package com.fitweber.socket;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;
import jpcap.NetworkInterface;
import jpcap.PacketReceiver;
import jpcap.packet.ARPPacket;
import jpcap.packet.EthernetPacket;
import jpcap.packet.IPPacket;
import jpcap.packet.Packet;
import jpcap.packet.TCPPacket;
import jpcap.packet.U