本文整理汇总了Java中org.pcap4j.packet.TcpPacket.Builder方法的典型用法代码示例。如果您正苦于以下问题:Java TcpPacket.Builder方法的具体用法?Java TcpPacket.Builder怎么用?Java TcpPacket.Builder使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.pcap4j.packet.TcpPacket
的用法示例。
在下文中一共展示了TcpPacket.Builder方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testHandleDnsRequestNotUdpPacket
import org.pcap4j.packet.TcpPacket; //导入方法依赖的package包/类
@Test
public void testHandleDnsRequestNotUdpPacket() throws Exception {
TcpPacket.Builder payLoadBuilder = new TcpPacket.Builder()
.srcPort(TcpPort.HTTP)
.dstPort(TcpPort.HTTP)
.srcAddr(InetAddress.getByAddress(new byte[]{8, 8, 4, 4}))
.dstAddr(InetAddress.getByAddress(new byte[]{8, 8, 8, 8}))
.correctChecksumAtBuild(true)
.correctLengthAtBuild(true)
.payloadBuilder(
new UnknownPacket.Builder()
.rawData(new byte[0])
);
IpPacket ipOutPacket = new IpV4Packet.Builder()
.version(IpVersion.IPV4)
.tos(IpV4Rfc791Tos.newInstance((byte) 0))
.protocol(IpNumber.UDP)
.srcAddr((Inet4Address) Inet4Address.getByAddress(new byte[]{8, 8, 4, 4}))
.dstAddr((Inet4Address) Inet4Address.getByAddress(new byte[]{8, 8, 8, 8}))
.correctChecksumAtBuild(true)
.correctLengthAtBuild(true)
.payloadBuilder(payLoadBuilder)
.build();
dnsPacketProxy.handleDnsRequest(ipOutPacket.getRawData());
assertNull(mockEventLoop.lastOutgoing);
assertNull(mockEventLoop.lastResponse);
}
示例2: createSyncAck
import org.pcap4j.packet.TcpPacket; //导入方法依赖的package包/类
static Packet createSyncAck(
MacAddress srcAddress_mac,
MacAddress dstAddrress_mac,
Inet4Address srcAddress,short srcPort,
Inet4Address dstAddress,short dstPort,
int ack_sequence,int sequence,short ident){
TcpPacket.Builder builder_tcp=new TcpPacket.Builder();
//builder_tcp.payloadBuilder(new UnknownPacket.Builder().rawData(new byte[0]));
builder_tcp.correctChecksumAtBuild(true);
builder_tcp.correctLengthAtBuild(true);
builder_tcp.paddingAtBuild(true);
builder_tcp.ack(true);
builder_tcp.acknowledgmentNumber(ack_sequence);
//builder_tcp.checksum(tcpHeader.getChecksum());
//builder_tcp.dataOffset((byte) 8);
builder_tcp.dstAddr(dstAddress);
builder_tcp.dstPort(new TcpPort(dstPort,""));
//builder_tcp.fin(tcpHeader.getFin());
ArrayList<TcpOption> tcp_options=new ArrayList<TcpOption>();
TcpNoOperationOption nop=TcpNoOperationOption.getInstance();
TcpMaximumSegmentSizeOption seg_option=new TcpMaximumSegmentSizeOption.Builder().maxSegSize(mtu).correctLengthAtBuild(true).build();
tcp_options.add(seg_option);
tcp_options.add(nop);
tcp_options.add(nop);
TcpSackPermittedOption sack_permit_option=TcpSackPermittedOption.getInstance();
tcp_options.add(sack_permit_option);
tcp_options.add(nop);
TcpWindowScaleOption win_option=new TcpWindowScaleOption.Builder().shiftCount(shiftCount).correctLengthAtBuild(true).build();
tcp_options.add(win_option);
builder_tcp.options(tcp_options);
//builder_tcp.padding(tcpHeader.getPadding());
builder_tcp.psh(false);
builder_tcp.reserved((byte) 0);
builder_tcp.rst(false);
builder_tcp.sequenceNumber(sequence);
builder_tcp.srcAddr(srcAddress);
builder_tcp.srcPort(new TcpPort(srcPort,""));
builder_tcp.syn(true);
builder_tcp.urg(false);
//builder_tcp.urgentPointer(tcpHeader.getUrgentPointer());
builder_tcp.window( window);
IpV4Packet.Builder builder_ipv4=new IpV4Packet.Builder();
builder_ipv4.correctChecksumAtBuild(true);
builder_ipv4.correctLengthAtBuild(true);
builder_ipv4.paddingAtBuild(true);
builder_ipv4.dstAddr(dstAddress);
builder_ipv4.dontFragmentFlag(true);
builder_ipv4.fragmentOffset((short)0);
//builder_ipv4.headerChecksum(ipV4Header.getHeaderChecksum());
// short identification= Math.abs(random.nextInt(Short.MAX_VALUE));
builder_ipv4.identification(ident);
builder_ipv4.ihl((byte) 5);
//builder_ipv4.moreFragmentFlag(ipV4Header.getMoreFragmentFlag());
//builder_ipv4.options(ipV4Header.getOptions());
//builder_ipv4.padding(ipV4Header.getPadding());
builder_ipv4.protocol(IpNumber.TCP);
// builder_ipv4.reservedFlag(ipV4Header.getReservedFlag());
builder_ipv4.srcAddr(srcAddress);
builder_ipv4.tos(IpV4Rfc1349Tos.newInstance((byte) 0));
//builder_ipv4.totalLength( 52);
builder_ipv4.ttl(ttl);
builder_ipv4.version(IpVersion.IPV4);
builder_ipv4.payloadBuilder(builder_tcp);
//
Packet p = buildIpV4(srcAddress_mac,dstAddrress_mac,builder_ipv4);
return p;
}
示例3: createDataPacket
import org.pcap4j.packet.TcpPacket; //导入方法依赖的package包/类
static Packet createDataPacket(
MacAddress srcAddress_mac,
MacAddress dstAddrress_mac,
Inet4Address srcAddress,short srcPort,
Inet4Address dstAddress,short dstPort,
int sequence,int ack, byte[] data,short ident){
Packet p=null;
TcpPacket.Builder builder_tcp=new TcpPacket.Builder();
builder_tcp.payloadBuilder(new UnknownPacket.Builder().rawData(data));
builder_tcp.correctChecksumAtBuild(true);
builder_tcp.correctLengthAtBuild(true);
builder_tcp.paddingAtBuild(true);
builder_tcp.ack(true);
builder_tcp.acknowledgmentNumber(ack);
//builder_tcp.checksum(tcpHeader.getChecksum());
//builder_tcp.dataOffset((byte)8);
builder_tcp.dstAddr(dstAddress);
builder_tcp.dstPort(new TcpPort( dstPort,""));
builder_tcp.fin(false);
//builder_tcp.options(tcpHeader.getOptions());
//builder_tcp.padding(tcpHeader.getPadding());
builder_tcp.psh(false);
builder_tcp.reserved((byte) 0);
builder_tcp.rst(false);
builder_tcp.sequenceNumber(sequence);
builder_tcp.srcAddr(srcAddress);
builder_tcp.srcPort(new TcpPort( srcPort,""));
builder_tcp.syn(false);
builder_tcp.urg(false);
//builder_tcp.urgentPointer(tcpHeader.getUrgentPointer());
builder_tcp.window( window);
IpV4Packet.Builder builder_ipv4=new IpV4Packet.Builder();
builder_ipv4.correctChecksumAtBuild(true);
builder_ipv4.correctLengthAtBuild(true);
builder_ipv4.dontFragmentFlag(true);
builder_ipv4.paddingAtBuild(true);
builder_ipv4.dstAddr(dstAddress);
builder_ipv4.fragmentOffset( (short)0);
//builder_ipv4.headerChecksum(ipV4Header.getHeaderChecksum());
//short identification= Math.abs(random.nextInt(Short.MAX_VALUE));
//identification=ident;
builder_ipv4.identification(ident);
builder_ipv4.ihl((byte) 5);
builder_ipv4.moreFragmentFlag(false);
//builder_ipv4.options(ipV4Header.getOptions());
//builder_ipv4.padding(ipV4Header.getPadding());
builder_ipv4.protocol(IpNumber.TCP);
//builder_ipv4.reservedFlag(ipV4Header.getReservedFlag());
builder_ipv4.srcAddr(srcAddress);
builder_ipv4.tos(IpV4Rfc1349Tos.newInstance((byte) 0));
//builder_ipv4.totalLength( 52);
builder_ipv4.ttl(ttl);
builder_ipv4.version(IpVersion.IPV4);
builder_ipv4.payloadBuilder(builder_tcp);
p = buildIpV4(srcAddress_mac,dstAddrress_mac,builder_ipv4);
return p;
}
示例4: createAck
import org.pcap4j.packet.TcpPacket; //导入方法依赖的package包/类
static Packet createAck(
MacAddress srcAddress_mac,
MacAddress dstAddrress_mac,
Inet4Address srcAddress,short srcPort,
Inet4Address dstAddress,short dstPort,
int ack_sequence,int sequence,short ident){
TcpPacket.Builder builder_tcp=new TcpPacket.Builder();
//builder_tcp.payloadBuilder(new UnknownPacket.Builder().rawData(new byte[0]));
builder_tcp.correctChecksumAtBuild(true);
builder_tcp.correctLengthAtBuild(true);
builder_tcp.paddingAtBuild(true);
builder_tcp.ack(true);
builder_tcp.acknowledgmentNumber(ack_sequence);
//builder_tcp.checksum(tcpHeader.getChecksum());
//builder_tcp.dataOffset((byte) 8);
builder_tcp.dstAddr(dstAddress);
builder_tcp.dstPort(new TcpPort( dstPort,""));
//builder_tcp.fin(tcpHeader.getFin());
builder_tcp.psh(false);
builder_tcp.reserved((byte) 0);
builder_tcp.rst(false);
builder_tcp.sequenceNumber(sequence);
builder_tcp.srcAddr(srcAddress);
builder_tcp.srcPort(new TcpPort( srcPort,""));
builder_tcp.syn(false);
builder_tcp.urg(false);
//builder_tcp.urgentPointer(tcpHeader.getUrgentPointer());
builder_tcp.window( window);
IpV4Packet.Builder builder_ipv4=new IpV4Packet.Builder();
builder_ipv4.correctChecksumAtBuild(true);
builder_ipv4.correctLengthAtBuild(true);
builder_ipv4.paddingAtBuild(true);
builder_ipv4.dstAddr(dstAddress);
builder_ipv4.dontFragmentFlag(true);
builder_ipv4.fragmentOffset( (short) 0);
//builder_ipv4.headerChecksum(ipV4Header.getHeaderChecksum());
//short identification= Math.abs(random.nextInt(Short.MAX_VALUE));
builder_ipv4.identification(ident);
builder_ipv4.ihl((byte) 5);
//builder_ipv4.moreFragmentFlag(ipV4Header.getMoreFragmentFlag());
//builder_ipv4.options(ipV4Header.getOptions());
//builder_ipv4.padding(ipV4Header.getPadding());
builder_ipv4.protocol(IpNumber.TCP);
// builder_ipv4.reservedFlag(ipV4Header.getReservedFlag());
builder_ipv4.srcAddr(srcAddress);
builder_ipv4.tos(IpV4Rfc1349Tos.newInstance((byte) 0));
//builder_ipv4.totalLength( 52);
builder_ipv4.ttl(ttl);
builder_ipv4.version(IpVersion.IPV4);
builder_ipv4.payloadBuilder(builder_tcp);
//
Packet p = buildIpV4(srcAddress_mac,dstAddrress_mac,builder_ipv4);
//System.out.println("自定义确认 "+" identification "+identification+" ack_sequence "+ack_sequence+" # "+tcpPacket.getHeader());
return p;
}
示例5: createAck
import org.pcap4j.packet.TcpPacket; //导入方法依赖的package包/类
static Packet createAck(
MacAddress srcAddress_mac,
MacAddress dstAddrress_mac,
Inet4Address srcAddress,short srcPort,
Inet4Address dstAddress,short dstPort,
int ack_sequence,int sequence,short ident){
TcpPacket.Builder builder_tcp=new TcpPacket.Builder();
//builder_tcp.payloadBuilder(new UnknownPacket.Builder().rawData(new byte[0]));
builder_tcp.correctChecksumAtBuild(true);
builder_tcp.correctLengthAtBuild(true);
builder_tcp.paddingAtBuild(true);
builder_tcp.ack(true);
builder_tcp.acknowledgmentNumber(ack_sequence);
//builder_tcp.checksum(tcpHeader.getChecksum());
//builder_tcp.dataOffset((byte) 8);
builder_tcp.dstAddr(dstAddress);
builder_tcp.dstPort(new TcpPort( dstPort,""));
//builder_tcp.fin(tcpHeader.getFin());
builder_tcp.psh(false);
builder_tcp.reserved((byte) 0);
builder_tcp.rst(false);
builder_tcp.sequenceNumber(sequence);
builder_tcp.srcAddr(srcAddress);
builder_tcp.srcPort(new TcpPort( srcPort,""));
builder_tcp.syn(false);
builder_tcp.urg(false);
//builder_tcp.urgentPointer(tcpHeader.getUrgentPointer());
builder_tcp.window( window);
IpV4Packet.Builder builder_ipv4=new IpV4Packet.Builder();
builder_ipv4.correctChecksumAtBuild(true);
builder_ipv4.correctLengthAtBuild(true);
builder_ipv4.paddingAtBuild(true);
builder_ipv4.dstAddr(dstAddress);
builder_ipv4.dontFragmentFlag(true);
builder_ipv4.fragmentOffset( (short) 0);
//builder_ipv4.headerChecksum(ipV4Header.getHeaderChecksum());
//short identification= Math.abs(random.nextInt(Short.MAX_VALUE));
builder_ipv4.identification(ident);
builder_ipv4.ihl((byte) 5);
//builder_ipv4.moreFragmentFlag(ipV4Header.getMoreFragmentFlag());
//builder_ipv4.options(ipV4Header.getOptions());
//builder_ipv4.padding(ipV4Header.getPadding());
builder_ipv4.protocol(IpNumber.TCP);
// builder_ipv4.reservedFlag(ipV4Header.getReservedFlag());
builder_ipv4.srcAddr(srcAddress);
builder_ipv4.tos(IpV4Rfc1349Tos.newInstance((byte) 0));
//builder_ipv4.totalLength( 52);
builder_ipv4.ttl(ttl);
builder_ipv4.version(IpVersion.IPV4);
builder_ipv4.payloadBuilder(builder_tcp);
//
Packet p = buildIpV4(srcAddress_mac,dstAddrress_mac,builder_ipv4);
return p;
}
示例6: buildPacket
import org.pcap4j.packet.TcpPacket; //导入方法依赖的package包/类
/**
* Build packet
*/
public void buildPacket() {
int calculatedLength = getPacketLength() - 14;
String payloadString = payload.getPayloadType().getPadPayloadString(payload.getPayloadPattern(), calculatedLength * 2);
UnknownPacket.Builder unknownb = null;
if (calculatedLength != 0) {
unknownb = new UnknownPacket.Builder();
unknownb.rawData(payload.getPayloadPad(payloadString, calculatedLength));
}
ArrayList<TcpOption> options = new ArrayList<TcpOption>();
options.add(TcpEndOfOptionList.getInstance());
tcpBuilder = new TcpPacket.Builder();
tcpBuilder.dstPort(dstPort)
.srcPort(srcPort)
.sequenceNumber(sequenceNumber)
.acknowledgmentNumber(acknowledgmentNumber)
.dataOffset(dataOffset)
.reserved(reserved)
.urg(urg)
.ack(ack)
.psh(psh)
.rst(rst)
.syn(syn)
.fin(fin)
.window(window)
.checksum(checksum)
.urgentPointer(urgentPointer)
.options(options)
.padding(new byte[]{(byte) 0xaa})
.correctChecksumAtBuild(false)
.correctLengthAtBuild(false)
.paddingAtBuild(false);
if (calculatedLength != 0) {
tcpBuilder.payloadBuilder(unknownb);
}
this.packet = tcpBuilder.build();
}
示例7: getBuilder
import org.pcap4j.packet.TcpPacket; //导入方法依赖的package包/类
/**
*
* @return
*/
public TcpPacket.Builder getBuilder() {
return tcpBuilder;
}
示例8: getTcpBuilder
import org.pcap4j.packet.TcpPacket; //导入方法依赖的package包/类
/**
*
* @return
*/
public TcpPacket.Builder getTcpBuilder() {
return tcpBuilder;
}