当前位置: 首页>>代码示例>>Java>>正文


Java TcpPacket.getHeader方法代码示例

本文整理汇总了Java中org.pcap4j.packet.TcpPacket.getHeader方法的典型用法代码示例。如果您正苦于以下问题:Java TcpPacket.getHeader方法的具体用法?Java TcpPacket.getHeader怎么用?Java TcpPacket.getHeader使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.pcap4j.packet.TcpPacket的用法示例。


在下文中一共展示了TcpPacket.getHeader方法的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());
	}

}
 
开发者ID:breakEval13,项目名称:NSS,代码行数:76,代码来源:TCPTun.java

示例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());
	}

}
 
开发者ID:jonasxiao,项目名称:FinalSpeed,代码行数:76,代码来源:TCPTun.java

示例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());
	}

}
 
开发者ID:RCD-Y,项目名称:FinalSpeed-X,代码行数:76,代码来源:TCPTun.java

示例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());
    }

}
 
开发者ID:Bpazy,项目名称:finalspeed,代码行数:82,代码来源:TCPTun.java

示例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);
    }

}
 
开发者ID:Bpazy,项目名称:finalspeed,代码行数:56,代码来源:TCPTun.java


注:本文中的org.pcap4j.packet.TcpPacket.getHeader方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。