本文整理汇总了Java中org.pcap4j.packet.TcpPacket.getPayload方法的典型用法代码示例。如果您正苦于以下问题:Java TcpPacket.getPayload方法的具体用法?Java TcpPacket.getPayload怎么用?Java TcpPacket.getPayload使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.pcap4j.packet.TcpPacket
的用法示例。
在下文中一共展示了TcpPacket.getPayload方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: process_server
import org.pcap4j.packet.TcpPacket; //导入方法依赖的package包/类
public void process_server(final Packet packet, EthernetHeader ethernetHeader, IpV4Header ipV4Header, TcpPacket tcpPacket, boolean client){
TcpHeader tcpHeader=tcpPacket.getHeader();
if(!preDataReady){
if(!connectReady){
//第一次握手
dstMacaAddress=ethernetHeader.getSrcAddr();
if(tcpHeader.getSyn()&&!tcpHeader.getAck()){
remoteStartSequence=tcpHeader.getSequenceNumber();
remoteSequence=remoteStartSequence+1;
remoteSequence_max=remoteSequence;
MLog.println("接收第一次握手 "+remoteAddress.getHostAddress()+":"+remotePort+"->"+localAddress.getHostAddress()+":"+localPort+" ident "+ipV4Header.getIdentification());
MLog.println(""+packet);
Packet responePacket=PacketUtils.createSyncAck(
capEnv.local_mac,
capEnv.gateway_mac,
localAddress,(short)localPort,
ipV4Header.getSrcAddr(),tcpHeader.getSrcPort().value(),
tcpHeader.getSequenceNumber()+1,localStartSequence,(short)0
);
try {
sendHandle.sendPacket(responePacket);
} catch (Exception e) {
e.printStackTrace();
}
localSequence=localStartSequence+1;
MLog.println("发送第二次握手 "+capEnv.local_mac+"->"+capEnv.gateway_mac+" "+localAddress+"->"+" ident "+0);
MLog.println(""+responePacket);
}
if(!tcpHeader.getSyn()&&tcpHeader.getAck()){
if(tcpPacket.getPayload()==null){
//第三次握手,客户端确认
if(tcpHeader.getAcknowledgmentNumber()==localSequence){
MLog.println("接收第三次握手 "+" ident "+ipV4Header.getIdentification());
MLog.println(packet+"");
Thread t1=new Thread(){
public void run(){
//startSend(basePacket_server,syc_sequence_client+1);
}
};
//t1.start();
connectReady=true;
}
}
//MLog.println("客户端响应preview\n "+packet);
//MLog.println("request "+tcp.ack());
sendedTable_server.remove(tcpHeader.getAcknowledgmentNumber());
boolean selfAck=selfAckTable.contains(ipV4Header.getIdentification());
//MLog.println("客户端确认 "+"selfack "+selfAck+" id "+ipV4Header.getIdentification()+" ack_sequence "+tcpHeader.getAcknowledgmentNumberAsLong()+" "+sendedTable_server.size()+"ppppppp "+tcpHeader);
}
}else {
if(tcpPacket.getPayload()!=null){
preDataReady=true;
onReceiveDataPacket( tcpPacket, tcpHeader, ipV4Header );
byte[] sim=getSimResponeHead();
sendData(sim);
}
}
}else {
if(tcpPacket.getPayload()!=null){
onReceiveDataPacket( tcpPacket, tcpHeader, ipV4Header );
TunData td=new TunData();
td.tun=this;
td.data=tcpPacket.getPayload().getRawData();
capEnv.vDatagramSocket.onReceinveFromTun(td);
}
}
if(tcpHeader.getRst()){
MLog.println("reset packet "+ipV4Header.getIdentification()+" "+tcpHeader.getSequenceNumber()+" "+remoteAddress.getHostAddress()+":"+remotePort+"->"+localAddress.getHostAddress()+":"+localPort+" "+" ident "+ipV4Header.getIdentification());
}
}
示例2: process_server
import org.pcap4j.packet.TcpPacket; //导入方法依赖的package包/类
public void process_server(final Packet packet,EthernetHeader ethernetHeader,IpV4Header ipV4Header,TcpPacket tcpPacket,boolean client){
TcpHeader tcpHeader=tcpPacket.getHeader();
if(!preDataReady){
if(!connectReady){
//第一次握手
dstMacaAddress=ethernetHeader.getSrcAddr();
if(tcpHeader.getSyn()&&!tcpHeader.getAck()){
remoteStartSequence=tcpHeader.getSequenceNumber();
remoteSequence=remoteStartSequence+1;
remoteSequence_max=remoteSequence;
MLog.println("接收第一次握手 "+remoteAddress.getHostAddress()+":"+remotePort+"->"+localAddress.getHostAddress()+":"+localPort+" ident "+ipV4Header.getIdentification());
MLog.println(""+packet);
Packet responePacket=PacketUtils.createSyncAck(
capEnv.local_mac,
capEnv.gateway_mac,
localAddress,(short)localPort,
ipV4Header.getSrcAddr(),tcpHeader.getSrcPort().value(),
tcpHeader.getSequenceNumber()+1,localStartSequence,(short)0
);
try {
sendHandle.sendPacket(responePacket);
} catch (Exception e) {
e.printStackTrace();
}
localSequence=localStartSequence+1;
MLog.println("发送第二次握手 "+capEnv.local_mac+"->"+capEnv.gateway_mac+" "+localAddress+"->"+" ident "+0);
MLog.println(""+responePacket);
}
if(!tcpHeader.getSyn()&&tcpHeader.getAck()){
if(tcpPacket.getPayload()==null){
//第三次握手,客户端确认
if(tcpHeader.getAcknowledgmentNumber()==localSequence){
MLog.println("接收第三次握手 "+" ident "+ipV4Header.getIdentification());
MLog.println(packet+"");
Thread t1=new Thread(){
public void run(){
//startSend(basePacket_server,syc_sequence_client+1);
}
};
//t1.start();
connectReady=true;
}
}
//MLog.println("客户端响应preview\n "+packet);
//MLog.println("request "+tcp.ack());
sendedTable_server.remove(tcpHeader.getAcknowledgmentNumber());
boolean selfAck=selfAckTable.contains(ipV4Header.getIdentification());
//MLog.println("客户端确认 "+"selfack "+selfAck+" id "+ipV4Header.getIdentification()+" ack_sequence "+tcpHeader.getAcknowledgmentNumberAsLong()+" "+sendedTable_server.size()+"ppppppp "+tcpHeader);
}
}else {
if(tcpPacket.getPayload()!=null){
preDataReady=true;
onReceiveDataPacket( tcpPacket, tcpHeader, ipV4Header );
byte[] sim=getSimResponeHead();
sendData(sim);
}
}
}else {
if(tcpPacket.getPayload()!=null){
onReceiveDataPacket( tcpPacket, tcpHeader, ipV4Header );
TunData td=new TunData();
td.tun=this;
td.data=tcpPacket.getPayload().getRawData();
capEnv.vDatagramSocket.onReceinveFromTun(td);
}
}
if(tcpHeader.getRst()){
MLog.println("reset packet "+ipV4Header.getIdentification()+" "+tcpHeader.getSequenceNumber()+" "+remoteAddress.getHostAddress()+":"+remotePort+"->"+localAddress.getHostAddress()+":"+localPort+" "+" ident "+ipV4Header.getIdentification());
}
}
示例3: process_server
import org.pcap4j.packet.TcpPacket; //导入方法依赖的package包/类
public void process_server(final Packet packet,EthernetHeader ethernetHeader,IpV4Header ipV4Header,TcpPacket tcpPacket,boolean client){
TcpHeader tcpHeader=tcpPacket.getHeader();
if(!preDataReady){
if(!connectReady){
//第一次握手
dstMacaAddress=ethernetHeader.getSrcAddr();
if(tcpHeader.getSyn()&&!tcpHeader.getAck()){
remoteStartSequence=tcpHeader.getSequenceNumber();
remoteSequence=remoteStartSequence+1;
remoteSequence_max=remoteSequence;
MLog.println("Receiving first handshake "+remoteAddress.getHostAddress()+":"+remotePort+"->"+localAddress.getHostAddress()+":"+localPort+" ident "+ipV4Header.getIdentification());
MLog.println(""+packet);
Packet responePacket=PacketUtils.createSyncAck(
capEnv.local_mac,
capEnv.gateway_mac,
localAddress,(short)localPort,
ipV4Header.getSrcAddr(),tcpHeader.getSrcPort().value(),
tcpHeader.getSequenceNumber()+1,localStartSequence,(short)0
);
try {
sendHandle.sendPacket(responePacket);
} catch (Exception e) {
e.printStackTrace();
}
localSequence=localStartSequence+1;
MLog.println("Sending second handshake "+capEnv.local_mac+"->"+capEnv.gateway_mac+" "+localAddress+"->"+" ident "+0);
MLog.println(""+responePacket);
}
if(!tcpHeader.getSyn()&&tcpHeader.getAck()){
if(tcpPacket.getPayload()==null){
//第三次握手,客户端确认
if(tcpHeader.getAcknowledgmentNumber()==localSequence){
MLog.println("Sending third handshake "+" ident "+ipV4Header.getIdentification());
MLog.println(packet+"");
/*new Thread(){
public void run(){
//startSend(basePacket_server,syc_sequence_client+1);
}
};
//t1.start();*/
connectReady=true;
}
}
//MLog.println("客户端响应preview\n "+packet);
//MLog.println("request "+tcp.ack());
sendedTable_server.remove(tcpHeader.getAcknowledgmentNumber());
//boolean selfAck=selfAckTable.contains(ipV4Header.getIdentification());
//MLog.println("客户端确认 "+"selfack "+selfAck+" id "+ipV4Header.getIdentification()+" ack_sequence "+tcpHeader.getAcknowledgmentNumberAsLong()+" "+sendedTable_server.size()+"ppppppp "+tcpHeader);
}
}else {
if(tcpPacket.getPayload()!=null){
preDataReady=true;
onReceiveDataPacket( tcpPacket, tcpHeader, ipV4Header );
byte[] sim=getSimResponeHead();
sendData(sim);
}
}
}else {
if(tcpPacket.getPayload()!=null){
onReceiveDataPacket( tcpPacket, tcpHeader, ipV4Header );
TunData td=new TunData();
td.tun=this;
td.data=tcpPacket.getPayload().getRawData();
capEnv.vDatagramSocket.onReceinveFromTun(td);
}
}
if(tcpHeader.getRst()){
MLog.println("reset packet "+ipV4Header.getIdentification()+" "+tcpHeader.getSequenceNumber()+" "+remoteAddress.getHostAddress()+":"+remotePort+"->"+localAddress.getHostAddress()+":"+localPort+" "+" ident "+ipV4Header.getIdentification());
}
}
示例4: process_server
import org.pcap4j.packet.TcpPacket; //导入方法依赖的package包/类
public void process_server(final Packet packet, EthernetHeader ethernetHeader, IpV4Header ipV4Header, TcpPacket
tcpPacket, boolean client) {
TcpHeader tcpHeader = tcpPacket.getHeader();
if (!preDataReady) {
if (!connectReady) {
//第一次握手
dstMacaAddress = ethernetHeader.getSrcAddr();
if (tcpHeader.getSyn() && !tcpHeader.getAck()) {
remoteStartSequence = tcpHeader.getSequenceNumber();
remoteSequence = remoteStartSequence + 1;
remoteSequence_max = remoteSequence;
MLog.println("接收第一次握手 " + remoteAddress.getHostAddress() + ":" + remotePort + "->" + localAddress
.getHostAddress() + ":" + localPort + " ident " + ipV4Header.getIdentification());
MLog.println("" + packet);
Packet responePacket = PacketUtils.createSyncAck(
capEnv.local_mac,
capEnv.gateway_mac,
localAddress, localPort,
ipV4Header.getSrcAddr(), tcpHeader.getSrcPort().value(),
tcpHeader.getSequenceNumber() + 1, localStartSequence, (short) 0
);
try {
sendHandle.sendPacket(responePacket);
} catch (Exception e) {
e.printStackTrace();
}
localSequence = localStartSequence + 1;
MLog.println("发送第二次握手 " + capEnv.local_mac + "->" + capEnv.gateway_mac + " " + localAddress +
"->" + " ident " + 0);
MLog.println("" + responePacket);
}
if (!tcpHeader.getSyn() && tcpHeader.getAck()) {
if (tcpPacket.getPayload() == null) {
//第三次握手,客户端确认
if (tcpHeader.getAcknowledgmentNumber() == localSequence) {
MLog.println("接收第三次握手 " + " ident " + ipV4Header.getIdentification());
MLog.println(packet + "");
Thread t1 = new Thread() {
public void run() {
//startSend(basePacket_server,syc_sequence_client+1);
}
};
//t1.start();
connectReady = true;
}
}
//MLog.println("客户端响应preview\n "+packet);
//MLog.println("request "+tcp.ack());
sendedTable_server.remove(tcpHeader.getAcknowledgmentNumber());
boolean selfAck = selfAckTable.contains(ipV4Header.getIdentification());
//MLog.println("客户端确认 "+"selfack "+selfAck+" id "+ipV4Header.getIdentification()+" ack_sequence
// "+tcpHeader.getAcknowledgmentNumberAsLong()+" "+sendedTable_server.size()+"ppppppp "+tcpHeader);
}
} else {
if (tcpPacket.getPayload() != null) {
preDataReady = true;
onReceiveDataPacket(tcpPacket, tcpHeader, ipV4Header);
byte[] sim = getSimResponeHead();
sendData(sim);
}
}
} else {
if (tcpPacket.getPayload() != null) {
onReceiveDataPacket(tcpPacket, tcpHeader, ipV4Header);
TunData td = new TunData();
td.tun = this;
td.data = tcpPacket.getPayload().getRawData();
capEnv.vDatagramSocket.onReceinveFromTun(td);
}
}
if (tcpHeader.getRst()) {
MLog.println("reset packet " + ipV4Header.getIdentification() + " " + tcpHeader.getSequenceNumber() + " "
+ remoteAddress.getHostAddress() + ":" + remotePort + "->" + localAddress.getHostAddress() + ":" +
localPort + " " + " ident " + ipV4Header.getIdentification());
}
}
示例5: process_client
import org.pcap4j.packet.TcpPacket; //导入方法依赖的package包/类
public void process_client(CapEnv capEnv, final Packet packet, EthernetHeader ethernetHeader, IpV4Header
ipV4Header, TcpPacket tcpPacket, boolean client) {
TcpHeader tcpHeader = tcpPacket.getHeader();
if (!preDataReady) {
if (!connectReady) {
if (tcpHeader.getAck() && tcpHeader.getSyn()) {
if (tcpHeader.getAcknowledgmentNumber() == (localStartSequence + 1)) {
MLog.println("接收第二次握手 " + " ident " + ipV4Header.getIdentification());
MLog.println("" + packet);
remoteStartSequence = tcpHeader.getSequenceNumber();
remoteSequence = remoteStartSequence + 1;
remoteSequence_max = remoteSequence;
Packet p3 = PacketUtils.createAck(capEnv.local_mac, capEnv.gateway_mac, capEnv.local_ipv4,
localPort, remoteAddress, remotePort, remoteSequence, localSequence, getIdent());
try {
sendHandle.sendPacket(p3);
MLog.println("发送第三次握手 " + " ident " + localIdent);
MLog.println("" + p3);
connectReady = true;
byte[] sim = getSimRequestHead(remotePort);
sendData(sim);
MLog.println("发送请求 " + " ident " + localIdent);
} catch (PcapNativeException | NotOpenException e) {
e.printStackTrace();
}
}
}
} else {
if (tcpPacket.getPayload() != null) {
preDataReady = true;
onReceiveDataPacket(tcpPacket, tcpHeader, ipV4Header);
MLog.println("接收响应 " + " ident " + ipV4Header.getIdentification());
}
}
} else {
if (tcpPacket.getPayload() != null) {
//MLog.println("客户端正式接收数据 "+capClientEnv.vDatagramSocket);
onReceiveDataPacket(tcpPacket, tcpHeader, ipV4Header);
TunData td = new TunData();
td.tun = this;
td.data = tcpPacket.getPayload().getRawData();
capEnv.vDatagramSocket.
onReceinveFromTun(td);
}
}
if (tcpHeader.getRst()) {
MLog.println("reset packet " + ipV4Header.getIdentification() + " " + tcpHeader.getSequenceNumber() + " "
+ remoteAddress.getHostAddress() + ":" + remotePort + "->" + localAddress.getHostAddress() + ":" +
localPort);
}
}