Java TCP套接字连接问题--连接到旧设备时握手失败

Java TCP套接字连接问题--连接到旧设备时握手失败,java,Java,我正试图编写一个Java程序来取代我公司目前使用的基于DOS的旧程序。当我试图简单地打开一个套接字与编写程序的设备进行通信时,TCP握手永远不会完成。我有一个相当不错的想法,什么问题可能是,但我真的是一个新手网络程序员,我不完全确定(我也不知道如何解决这个问题)。我会尽量使这个解释既简短又有用 我尝试连接的设备是旧的——比如20多年前的旧设备。该设备通常由GPIB连接或通过网络控制。过去,通过网络连接到此设备的所有程序都是在Solaris系统上运行的。GPIB端口是基于PC的连接的唯一可用选项

我正试图编写一个Java程序来取代我公司目前使用的基于DOS的旧程序。当我试图简单地打开一个套接字与编写程序的设备进行通信时,TCP握手永远不会完成。我有一个相当不错的想法,什么问题可能是,但我真的是一个新手网络程序员,我不完全确定(我也不知道如何解决这个问题)。我会尽量使这个解释既简短又有用

我尝试连接的设备是旧的——比如20多年前的旧设备。该设备通常由GPIB连接或通过网络控制。过去,通过网络连接到此设备的所有程序都是在Solaris系统上运行的。GPIB端口是基于PC的连接的唯一可用选项

现在,一个缺点是,我既不能从访问机器的“客户端”访问任何源代码,也不能从机器上的“服务器”访问任何源代码。我收集的所有信息都是通过截获Solaris机箱和设备之间的IP通信收集的。我确信该设备使用的是类UNIX嵌入式系统。如果你想证明这些东西有多旧,请查看下面以“00:80:12:00”开头的MAC地址

我的问题的底线是——我的系统和JVM(带Java 7的Win7)发送的数据包和设备生成的数据包之间似乎有足够的差异,导致TCP连接无法正常工作。我觉得Java没有任何内置的方法或类来在功能上修改TCP数据包。在编写RARP服务器时,我遇到了类似的限制,并发现我无法轻松地从Java程序发送ping

我包括一些我从网络上截获的基本数据包信息。第一组六个数据包是Solaris系统和设备之间交换的第一组数据包。第二组六个数据包是在基于Windows 7的Java程序和设备之间发送的唯一六个数据包。关于这两组数据包之间的差异,我已经注意到了一些关键事项:

1) 此设备使用的端口是2112(也称为idonix metanet)。我发现的关于这个端口/协议的极其有限的信息仅仅显示了这个设备和协议是多么的陈旧。 2) Solaris系统的工作数据包不包含任何涉及“WS=XXX”的条目。我想这是因为TCP的特定方面在很久以前就不存在了。 3) 在我看来,我的PC/程序是决定关闭尝试的TCP连接的实体。当我在Java中打开套接字时,它发送一个SYN数据包,接收一个SYN,ACK数据包,发送一个ACK数据包,然后立即发送一个FIN,ACK数据包,然后开始终止连接的过程。对我和我有限的经验来说,这告诉我,从设备发送的单个SYN、ACK数据包中的某些东西使我的程序(或操作系统)决定此连接无法正常工作。 4) 我还注意到“赢”的价值在两者之间有很大的不同。在功能性Solaris数据包中,Win以值24820开始。此值在以后的数据包中更改。我确实手动修改了我的程序,使其具有24820的固定赢值,但这没有效果。 5) 在基于Java的通信中,第一个数据包的长度比基于Solaris的通信中长四(66)。这可能是由于额外的WS字段

我没有包含任何Java代码,因为此时我所做的只是打开设备IP和端口的套接字

首先--工作Solaris数据包:

否。时间源目标协议长度信息
1 0.000000 192.168.1.135 192.168.1.23 TCP 62 33384>idonix metanet[SYN]Seq=0 Win=24820 Len=0 SACK_PERM=1 MSS=1460 0000 00 80 12 00 03 33 00 03 ba 13 6b ec 08 00 45 00 .....3....k...E. 0010 00 30 48 37 40 00 40 06 6e a2 c0 a8 01 87 c0 a8 .0H7@.@.n....... 0020 01 17 82 68 08 40 cf f8 45 a0 00 00 00 00 70 02 ...h.@..E.....p. 0030 60 f4 fd fa 00 00 01 01 04 02 02 04 05 b4 `............. 0000 00 80 12 00 03 33 14 da e9 1a c9 c4 08 00 45 00 .....3........E. 0010 00 34 01 9a 40 00 80 06 75 73 c0 a8 01 4f c0 a8 .4..@...us...O.. 0020 01 17 c3 0b 08 40 22 6f b1 8d 00 00 00 00 80 02 .....@"o........ 0030 20 00 2c 11 00 00 02 04 05 b4 01 03 03 08 01 01 .,............. 0040 04 02 .. 0000 00 80 12 00 03 33 00 03 ba 13 6b ec 08 00 45 00…3…k…E。 0010 00 30 48 37 40 00 40 06 6e a2 c0 a8 01 87 c0 a8。0H7@.@.n。。。。。。。 002001 17 82 68 08 40 cf f8 45 a0 00 00 00 70 02…h.@..E….p。 0030 60 f4 fd fa 00 00 01 01 04 02 04 05 b4`。。。。。。。。。。。。。

否。时间源目标协议长度信息
2 0.000970 192.168.1.23 192.168.1.135 TCP 60 idonix metanet>33384[SYN,ACK]序列=0 ACK=1 Win=4096 Len=0 MSS=1024 0000 00 03 ba 13 6b ec 00 80 12 00 03 33 08 00 45 00 ....k......3..E. 0010 00 2c 00 05 00 00 64 06 d2 d8 c0 a8 01 17 c0 a8 .,....d......... 0020 01 87 08 40 82 68 00 39 c0 00 cf f8 45 a1 60 12 ...@.h.9....E.`. 0030 10 00 a5 5f 00 00 02 04 04 00 00 00 ..._........ 0000 14 da e9 1a c9 c4 00 80 12 00 03 33 08 00 45 00 ...........3..E. 0010 00 2c 00 05 00 00 64 06 d3 10 c0 a8 01 17 c0 a8 .,....d......... 0020 01 4f 08 40 c3 0b 00 3a 70 00 22 6f b1 8e 60 12 .O.@...:p."o..`. 0030 10 00 f6 8f 00 00 02 04 04 00 00 00 ............ 0000 14 da e9 1a c9 c4 00 80 12 00 03 33 08 00 45 00 ...........3..E. 0010 00 28 00 06 00 00 64 06 d3 13 c0 a8 01 17 c0 a8 .(....d......... 0020 01 4f 08 40 c3 0b 00 3a 70 01 22 6f b1 8f 50 11 .O.@...:p."o..P. 0030 10 00 0c 97 00 00 02 04 04 00 00 00 ............ 0000 00 03 ba 13 6b ec 00 80 12 00 03 33 08 00 45 00…k…3…E。 0010 00 2c 00 05 00 64 06 d2 d8 c0 a8 01 17 c0 a8.,…d。。。。。。。。。 002001 87 08 40 82 68 00 39 c0 00 cf f8 45 a1 60 12…@.h.9…E.`。 0030 10 00 a5 5f 00 00 02 04 00 00 00。。。。。。。。

否。时间源目标协议长度信息
3 0.000975 192.168.1.135 192.168.1.23 TCP 60 33384>idonix metanet[ACK]Seq=1 ACK=1 Win=25600 Len=0 0000 00 80 12 00 03 33 00 03 ba 13 6b ec 08 00 45 00 .....3....k...E. 0010 00 28 48 38 40 00 40 06 6e a9 c0 a8 01 87 c0 a8 .(H8@.@.n....... 0020 01 17 82 68 08 40 cf f8 45 a1 00 39 c0 01 50 10 ...h.@..E..9..P. 0030 64 00 67 68 00 00 55 55 55 55 55 55 d.gh..UUUUUU 0000 00 80 12 00 03 33 00 03 ba 13 6b ec 08 00 45 00…3…k…E。 0010 00 28 48 38 40 00 40 06 6e a9 c0 a8 01 87 c0 a8(H8@.@.n。。。。。。。 002001 17 82 68 08 40 cf f8 45 a1 00 39 C001 50 10…h@..E..9..P。 0030 64 00 67 68 00 55 d.gh..UUUUUU

否。时间源目标协议长度信息
4 0.001235 192.168.1.135 192.168.1.23 TCP 62 33384>idonix metanet[PSH,ACK]Seq=1 ACK=1 Win=25600 Len=8 0000 00 80 12 00 03 33 00 03 ba 13 6b ec 08 00 45 00 .....3....k...E. 0010 00 30 48 39 40 00 40 06 6e a0 c0 a8 01 87 c0 a8 .0H9@.@.n....... 0020 01 17 82 68 08 40 cf f8 45 a1 00 39 c0 01 50 18 ...h.@..E..9..P. 0030 64 00 26 55 00 00 41 03 00 00 00 00 00 00 d.&U..A....... 0000 00 80 12 00 03 33 00 03 ba 13 6b ec 08 00 45 00…3…k…E。 0010 00 30 48 39 40 00 40 06 6e a0 c0 a8 01 87 c0 a8。0H9@.@.n。。。。。。。 002001 17 82 68 08 40 cf f8 45 a1 00 39 C001 50 18…h@..E..9..P。 0030 64 00 26 5 0000 00 80 12 00 03 33 14 da e9 1a c9 c4 08 00 45 00 .....3........E. 0010 00 34 01 9a 40 00 80 06 75 73 c0 a8 01 4f c0 a8 .4..@...us...O.. 0020 01 17 c3 0b 08 40 22 6f b1 8d 00 00 00 00 80 02 .....@"o........ 0030 20 00 2c 11 00 00 02 04 05 b4 01 03 03 08 01 01 .,............. 0040 04 02 .. 0000 14 da e9 1a c9 c4 00 80 12 00 03 33 08 00 45 00 ...........3..E. 0010 00 2c 00 05 00 00 64 06 d3 10 c0 a8 01 17 c0 a8 .,....d......... 0020 01 4f 08 40 c3 0b 00 3a 70 00 22 6f b1 8e 60 12 .O.@...:p."o..`. 0030 10 00 f6 8f 00 00 02 04 04 00 00 00 ............ 0000 00 80 12 00 03 33 14 da e9 1a c9 c4 08 00 45 00 .....3........E. 0010 00 28 01 9b 40 00 80 06 75 7e c0 a8 01 4f c0 a8 .(..@...u~...O.. 0020 01 17 c3 0b 08 40 22 6f b1 8e 00 3a 70 01 50 10 .....@"o...:p.P. 0030 fc 00 20 98 00 00 00 00 00 00 00 00 .. ......... 0000 00 80 12 00 03 33 14 da e9 1a c9 c4 08 00 45 00 .....3........E. 0010 00 28 01 9c 40 00 80 06 75 7d c0 a8 01 4f c0 a8 .(..@...u}...O.. 0020 01 17 c3 0b 08 40 22 6f b1 8e 00 3a 70 01 50 11 .....@"o...:p.P. 0030 fc 00 20 97 00 00 00 00 00 00 00 00 .. ......... 0000 14 da e9 1a c9 c4 00 80 12 00 03 33 08 00 45 00 ...........3..E. 0010 00 28 00 06 00 00 64 06 d3 13 c0 a8 01 17 c0 a8 .(....d......... 0020 01 4f 08 40 c3 0b 00 3a 70 01 22 6f b1 8f 50 11 .O.@...:p."o..P. 0030 10 00 0c 97 00 00 02 04 04 00 00 00 ............ 0000 00 80 12 00 03 33 14 da e9 1a c9 c4 08 00 45 00 .....3........E. 0010 00 28 01 9d 40 00 80 06 75 7c c0 a8 01 4f c0 a8 .(..@...u|...O.. 0020 01 17 c3 0b 08 40 22 6f b1 8f 00 3a 70 02 50 10 .....@"o...:p.P. 0030 fc 00 20 96 00 00 00 00 00 00 00 00 .. .........