我得到了这些答案:
1918004163 3350411129 3083820792 1730247758 3668869711 4218577993
这是我的代码:
if (packet.hasHeader(tcp) && packet.hasHeader(ip)) {
long tcpack = packet.getHeader(tcp).ack();
String name = packet.getHeader(tcp).getName();
int urgent = packet.getHeader(tcp).urgent();
int windowScaled = packet.getHeader(tcp).windowScaled();
int window = packet.getHeader(tcp).window();
int wirelen = packet.getCaptureHeader().wirelen();
// System.out.println("WireLen: "+wirelen);
int caplen = packet.getCaptureHeader().caplen();
// System.out.println("caplen: "+caplen);
String ipTypeString = ip.typeEnum().toString();
// System.out.println("IP Type: "+ipTypeString);
String ipDescription = ip.getDescription();
// System.out.println("IP Description: "+ipDescription);
byte[] dIP = packet.getHeader(ip).destination();
byte[] sIP = packet.getHeader(ip).source();
String sourceIP = FormatUtils.ip(sIP);
// System.out.println("Source IP: "+sourceIP);
String destinationIP = FormatUtils.ip(dIP);
// System.out.println("Destination IP: "+destinationIP);
int tcpPORTSource = tcp.source();
// System.out.println("TCP PORT Source:
// "+tcpPORTSource);
int tcpPORTDestination = tcp.destination();
// System.out.println("TCP PORT Destination:
// "+tcpPORTDestination);
if (sourceIP.equals("someip") && tcpPORTSource == 0000 && ipTypeString.equals("TCP")
&& wirelen == 1514) {
// System.out.println("TCP ack: "+tcpack+" name: "+name+ " urgent: "+urgent + " window scaled: "+windowScaled+ " window: "+window);
}
如何检索与wireshark相同的确认值?
答案 0 :(得分:0)
答案 1 :(得分:0)
默认情况下,Wireshark显示TCP数据包的相对序列号。 (即,相对于TCP连接开始时使用的实际序列号的序列号)。这样可以更轻松地查看/使用序列号。
在Wireshark的TCP协议下,首选显示TCP 绝对序列号(TCP数据包中实际使用的那些)。
配置Wirehark以显示绝对TCP序列号后,我希望它们与您使用代码获得的值相匹配。
为读者练习:为什么每个TCP连接都不以实际序列号1开头? :):)