導航:首頁 > 編程語言 > wiresharkjava

wiresharkjava

發布時間:2022-05-22 12:46:31

A. 如何實現java解析網路協議報文(類似Wireshark那樣,或者有沒有開源的包供調用)

從http://netresearch.ics.uci.e/kfujii/Jpcap/doc/index.html 找到JPcap。JPcap 是一個能夠捕獲、發送網路數據包的Java 類庫包。這個包用到了LibPcap 和原始套接字API。

B. java中http:wireshark中抓出來手機端的post請求,但參數中含有json,如何用httpclient在pc上模擬抓數據

參數中有什麼不重要。照樣在PC上給就行了。如果你地址和參數都一樣的話,出問題的兩個可能:1.UA不對。
2.手機上做過login,電腦上沒login所以不合法。

C. java怎麼解析Wireshark抓包文件

注意:

  1. 如果鏈接另一個Web站點時,客戶端將再次對下一個站點進行DNS查詢(156、157幀),TCP三次握手(158、159、160幀)。

  2. 31幀是客戶端請求網路,通過DNS伺服器解析IP地址的過程。標識為「A」記錄。

  3. 32幀是DNS伺服器回應客戶端請求的過程。標識為response。

D. 阿里雲ECS伺服器,安裝好java服務環境後,怎麼讓我的java源代碼在伺服器上運行

只需要把本地寫的代碼原封不動的搬上去就可以,因為不清楚你具體是什麼程序所以也無法告訴你遷移方法。
至於你提到的監視伺服器和客戶端通信情況其實那也是有很多辦法監視的,例如使用linux下的curl可以知道http狀態是什麼樣的,使用wireshark可以抓取http數據包來知道伺服器和客戶端之間交流是怎樣的一種方式。

E. java怎麼獲取wireshark的抓包數據

僅提供大致思路,安裝目錄下有一個叫tshark的命令行程序,自己上網查下就懂了,學會調用它,就可以直接輸出解析結果,然後你的程序只要顯示顯示這些結果即可

F. 如何解碼分析wireshark捕獲的數據包

如何解碼分析wireshark捕獲的數據包
做windows程序,核心是調用win32的類庫創建窗口相關的對象。那麼c和c++是可以直接調用win32類庫的,所以可以開發,但是要寫很多窗口事件處理等的方法,都要自己寫。於是微軟出了atl和mfc幫你快速編寫windows程序。這些代碼都是非託管的,也就是說直接訪問系統調用或者庫函數的,不安全,容易出現災難性的結果(但運行效率高)。於是微軟推出了.net再次封裝,語言是c#,含義為c++++,這時代碼是託管的,沒有指針。這時開發效率高了,更安全了,但是運行效率相對就低一些。而java的虛擬機在底層調用win32的類庫,用自己的一套awt和swt類庫和java語言創建窗口,目的是為了可以移植到其它平台上。

G. wireshark 和 charles,burpsuite的區別

TcpIP協議,HTTP,DNS 實戰:基於wireshark與BurpSuite抓包分析

使用 wireshark 前的基本配置
磨刀不誤砍柴工。為了高效率的利用 wireshark 來幫助我們分析,學習網路協議,以及故障排除,需要對其進行一些使用前配置,大致內容如下:

1。將數據包摘要列表(packet list)中的「time」列的精度調整為 1 毫秒。
默認情況下,wireshark 的時間顯示精度為 1 納秒,但是在現實環境中通常用不到如此高的精度,一般用於評估站點響應速度,用戶體驗的性能指標,精確到毫秒級別就足夠了,而且納秒會多顯示小數點後 6 位數字,造成數據包摘要列表中的顯示空間的浪費。具體設置方法如下圖:

2。根據應用場景選擇時間列的顯示格式。默認情況下,以抓取到的第一個數據包的時間為參考點,後續的數據包的抓取時間都是相對開始抓包(第一個)的時點計算的。但是在某些場景中,需要將顯示格式調整為:與上一個抓取到的數據包的時間差,也就是相鄰2個數據包的抓包時間間隔。
我們知道,某些網路應用,如即時通信,會議軟體的視頻,音頻流量等,對於數據包的連續發送或接收時間間隔,非常敏感,如果相鄰2個或多個包的間隔時間太長,就會造成應用的畫面和聲音延遲,一個更明顯的例子是網路游戲的「卡」現象,由於收發包的間隔過長導致聲音與畫面的不一致和連續性問題。(通常與兩端通信鏈路的負載和其中路由器的負載過高,導致丟包而引發的 TCP 分段重傳有關)
這個時候,顯示時間間隔就非常有用,可以對當前網路的穩定性,流暢性進行快速的檢視,具體配置方法如下圖:

3。修改並導出 wireshark 的默認數據包著色識別規則。通過數據包著色功能,用戶可以迅速定位感興趣的數據包分析,但是默認的著色規則太復雜,導致啟用色彩識別時,一個包列表中顯示「五顏六色」的信息,分散了我們的注意力,通常情況,我們僅對一種或兩種類型的數據包感興趣,或者進一步講,我們每次只需要標識一種或兩種類型的數據包顏色,這就需要修改其默認著色規則,具體配置方法參考下圖:

依序選擇菜單欄的「View」,「Coloring Rules」,打開配色規則對話框:

4。自定義數據包列表的顯示列。默認的顯示列從左至右依序為:數據幀編號,抓取時間,源地址,目標地址,協議,數據包(幀)長度,摘要信息。
在實戰場景中,這些列提供的信息可能不夠,例如,我想要快速瀏覽每個包的 IP 分組頭部的生存期(TTL)欄位值,而且不用在每個包的詳細結構窗口(packet details)中查找該欄位,以便節省時間,可以按照下圖操作:

依序選擇菜單欄的「Edit」,「Preferences」,打開首選項對話框:

5。根據實際需求配置 wireshark 的名稱解析功能。
依序選擇菜單欄的「Edit」,「Preferences」,切換到首選項對話框中的「Name Resolution」標簽,參考下圖解說進行配置:

通常只需要保持默認的不解析鏈路層,網路層地址以及傳輸層埠號即可,但是有些時候就需要開啟相應的解析功能,還是那句老話:具體情況具體分析。上圖中沒有解釋到的名稱解析剩餘的配置選項部分,各位可以自行研究。

6。隱藏 wireshark 主用戶界面的數據包位元組窗口(Packet Btyes)
默認的用戶界面布局中,窗口被分隔成為3部分:數據包列表,數據包結構(詳情),以及數據包位元組,後者以16進制的位元組顯示數據包內容,通常是我們不必關心的,除非你有某種特殊的需求要修改原始的數據包;否則可以隱藏位元組窗口,釋放額外的顯示空間。依序選擇「View」,取消勾選「Packet Bytes」即可。

7。wireshark 中與 IPv4 協議相關的配置參數
配置各種協議的參數,實際上就是改變 wireshark 對該協議數據包的「捕獲」與「呈現」方式。要配置 IPv4 協議,依序選擇菜單欄的
「Edit」,「Preferences」,展開首選項對話框中的「Protocols」標簽,定位到「IPv4」子標簽。參考下圖解說進行配置:

下面來比較一下,對於同一個數據包的 IP 分組頭部的 ToS 欄位,wireshark 用舊的服務質量標准(服務類型)與用新的服務質量標准(即差異化/區分 服務)解析之間的區別,可以看出,兩者僅是對這個佔一位元組的頭部欄位中,每個比特位的解釋不同而已:

8。wireshark 中與 TCP 協議相關的配置參數

要配置 TCP 協議,依序選擇菜單欄的
「Edit」,「Preferences」,展開首選項對話框中的「Protocols」標簽,定位到「TCP」子標簽。參考下圖解說進行配置:
(由於 TCP 協議規范相當復雜,而且各種操作系統有其不同的實現,下面的每個選項不一定在所有系統上都會產生描述中預期的結果,並且這里僅對一些重要,常見的 TCP 協議特性相關的選項配置進行說明,剩餘的各位可以自行研究,理想情況下,在閱讀完《TCP/IP詳解》叢書後,應該能了解下圖中絕大多數的配置參數的含義)

H. java用jpcap怎麼識別出http和https的數據包

暫時的解決方法:
在抓到的tcp數據包的data欄位里判斷是否包含"HTTP"字元串。
不足:
1.與wireshark對比後發現,wireshark有的tcp包中data欄位有HTTP也識別為tcp而非http(不知道wireshark是怎麼解析的)。
2.感覺會漏判,不夠准確。
繼續尋找更好的解法,期待解答!

I. 急需Wireshark抓包軟體的Java API

wireshark是基於winpcap或者libpcap的應用軟體。如果你想自己開發抓包類的,應該用winpcap的api之類的。winpcap網站上faq提到這個問題了
Q-12: Does WinPcap work with Java?
A: We do not directly support Java. However you can find a Java wrapper at netresearch.ics.uci.e/kfujii/jpcap/doc/index.html 和 jnetpcap.com /.

J. 如何用Wireshark查看HTTPS消息里的加密內容

1. 配置Wireshark
選中Wireshark主菜單Edit->Preferences,將打開一個配置窗口;窗口左側是一棵樹(目錄),你打開其中的Protocols,將列出所有Wireshark支持的協議;在其中找到SSL並選中,右邊窗口裡將列出幾個參數,其中「RSA keys list」即用於配置伺服器私鑰。該配置的格式為:
<ip>,<port>,<protocol>,<key_file_name>

各欄位的含義為:
<ip> ---- 伺服器IP地址(對於HTTPS即為WEB伺服器)。
<port> ---- SSL的埠(HTTPS的埠,如443,8443)。
<protocol> ---- 表示SSL里加密的是什麼協議,對於HTTPS,這項應該填HTTP。
<key_file_name> ---- 伺服器密鑰文件,文件里的私鑰必須是明文(沒有密碼保護的格式)。
例如: 192.168.1.1,8443,http,C:/myserverkey/serverkey.pem

若你想設置多組這樣的配置,可以用分號隔開,如:
192.168.1.1,8443,http,C:/myserverkey/clearkey.pem;10.10.1.2,443,http,C:/myserverkey/clearkey2.pem

2. 導出伺服器密鑰(私鑰)的明文格式(即前面提到的<key_file_name>)
大家當初在配置HTTPS伺服器,伺服器私鑰時,一般都會輸入一個保護私鑰的密碼。那如何導出明文形式的伺服器私鑰呢,需要視情況而定:

(1)若你是像《如何用Tomcat和Openssl構建HTTPS雙向認證環境(HTTPS客戶端認證)》里所述的那樣,用類似於如下命令生成伺服器私鑰的:
openssl req -newkey rsa:1024 -keyout serverkey.pem -keyform PEM -out serverreq.pem /
-outform PEM -subj "/O=ABCom/OU=servers/CN=servername"M
而且你的伺服器私鑰文件serverkey.pem還在,則可以這樣導出伺服器私鑰明文文件:
openssl rsa -in serverkey.pem > clearkey.pem

執行命令式需要輸入私鑰的保護密碼就可以得到私鑰明文文件clearkey.pem了。

(2)若你已把serverkey.pem丟了,但還有pkcs12格式的伺服器證書庫文件,該文件當初用類似於以下命令生成的:
openssl pkcs12 -export -in servercert.pem -inkey serverkey.pem /
-out tomcat.p12 -name tomcat -CAfile "$HOME/testca/cacert.pem" /
-caname root -chain
則,你可以用下面命令把伺服器私鑰從tomcat.p12(pkcs12格式)文件里導出來:
openssl pkcs12 -in tomcat.p12 -nocerts -nodes -out clearkey.pem

執行命令式需要輸入pkcs12的保護密碼。
然後編輯一下生成的clearkey.pem文件,把「-----BEGIN RSA PRIVATE KEY-----」之前的內容刪掉就可以了。

(3)若你的伺服器私鑰是用java的keytool命令生成的keystore文件,則要弄出來比較麻煩,建議伺服器keystore最好用《如何用Tomcat和Openssl構建HTTPS雙向認證環境(HTTPS客戶端認證)》里的openssl生成伺服器公鑰私鑰和證書的方法,生成pkcs12格式的keystore。

閱讀全文

與wiresharkjava相關的資料

熱點內容
代碼可以編譯運行 瀏覽:918
銀行卡加密碼大全真號 瀏覽:447
單片機測esr 瀏覽:412
app怎麼設置消息功能 瀏覽:916
明詞pdf 瀏覽:427
雲域控伺服器有什麼用 瀏覽:577
位元組和B站程序員 瀏覽:747
app推薦書要怎麼做 瀏覽:303
unix網路編程第一卷 瀏覽:850
c需要pdf 瀏覽:865
超級解壓的美甲 瀏覽:72
安卓手機如何永久取消靜音 瀏覽:722
appstore免密碼支付怎麼關閉 瀏覽:30
域控制器如何備份到另一伺服器 瀏覽:306
騰訊雲應用伺服器可以做什麼 瀏覽:507
二次元表格編程 瀏覽:20
plc編程器保停 瀏覽:963
如何降低伺服器的內存佔用率 瀏覽:868
阿里雲伺服器是個什麼意思 瀏覽:817
國內最好的數控編程培訓學校 瀏覽:13