2013-02-20 98 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

設備保持正在重置後,連接其既定

這可能意味着你是不是在發送正確的協議。你將不得不找出那是什麼,只有你能做到這一點,因爲只有你知道設備是什麼。