我正在尝试编写一个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,因为我没有经验写我自己的程序,感谢再次帮助。
请显示一些代码,你如何连接到服务器 – jdevelop 2013-02-20 23:05:35
@jdevelop我不介意的代码,但这是一个非常毫无意义的问题。它必须是'新的套接字(主机,端口)'或'SocketChannel.open(主机,端口)的一些变化。“你如何连接与连接重置没有多大关系。 – EJP 2013-02-20 23:21:41
@EJP他可能会使用一些默认使用HTTP 1.0的HttpConnector或类似的东西。并且可能发生连接重置,因为服务器在此标头后关闭套接字。 – jdevelop 2013-02-20 23:23:12