我正在尝试编写一个java程序来通信/控制在我的LAN中连接的网络设备。网络设备有一个web-GUI并使用TCP,我尝试使用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页面更新,所以我将以某种方式解析我需要的代码,但首先需要让连接工作。
我无法一直访问该设备(它在我兄弟的家中),所以我可能无法像我喜欢的那样经常测试建议。
抱歉,如果我是一个菜鸟,因为我没有经验编写我自己的程序,感谢再次帮助。
答案 0 :(得分:1)
设备在建立后继续重置连接
这可能意味着您没有向其发送正确的协议。你将不得不找出它是什么,只有你能做到这一点,因为只有你知道设备是什么。