2013-02-20 95 views
0

我正在尝试编写一个java程序来通信/控制连接到我的LAN中的网络设备。网络设备有一个web-GUI并使用TCP,我尝试使用java套接字与设备建立连接,但设备在建立之后保持重置连接。使用java连接到本地网络设备

我想使用wireshark/netcat/tcpflow来嗅探Web-GUI和设备之间的数据,但wireshark被数据淹没,我仍然在netcat/tcpflow上阅读,找不到一个简单的教程。

林只是想知道如果任何人都可以照亮我一些灯,让我滚动。

在此先感谢

继承人的代码我试图

import java.io.*; 
import java.net.*; 
import java.util.*; 

class draft{ 
    public static void main (String args[]) throws Exception{ 
     String data; 
     String host = new String ("192.168.100.223"); 
     int port = 80; 
     Socket ndsocket = new Socket(host, port); 

     DataOutputStream outToServer = new DataOutputStream(ndsocket.getOutputStream()); 
     BufferedReader inFromServer = new BufferedReader (new InputStreamReader(ndsocket.getInputStream())); 

从Wireshark的,它使用HTTP 1.1,我应该使用类似这些强制HTTP 1.1的连接?

con_out = connection.getOutputStream(); 
    con_in = connection.getInputStream(); 
    PrintWriter out_writer = new PrintWriter(con_out, false); 
    out_writer.print("GET/HTTP/1.1\r\n"); 
    out_writer.print("Host: thehost\r\n"); 
    out_writer.print("\r\n"); 
    out_writer.flush(); 

从tcpflow,我可以看到它发回了HTTP页面更新,所以我必须以某种方式解析我需要的代码,但首先需要获取连接工作。

我没有时间使用设备(它在我兄弟的房子里),所以我可能无法按照自己喜欢的频率测试出建议。

对不起,如果我是一个noob,因为我没有经验写我自己的程序,感谢再次帮助。

+0

请显示一些代码,你如何连接到服务器 – jdevelop 2013-02-20 23:05:35

+0

@jdevelop我不介意的代码,但这是一个非常毫无意义的问题。它必须是'新的套接字(主机,端口)'或'SocketChannel.open(主机,端口)的一些变化。“你如何连接与连接重置没有多大关系。 – EJP 2013-02-20 23:21:41

+0

@EJP他可能会使用一些默认使用HTTP 1.0的HttpConnector或类似的东西。并且可能发生连接重置,因为服务器在此标头后关闭套接字。 – jdevelop 2013-02-20 23:23:12

回答

1

设备保持正在重置后,连接其既定

这可能意味着你是不是在发送正确的协议。你将不得不找出那是什么,只有你能做到这一点,因为只有你知道设备是什么。