0
A
回答
0
wireshark能夠顯示(並捕獲)數據。我會研究jnetpcap。
編輯:我查了教程(http://jnetpcap.com/tutorial/usage)。請參閱第72行(創建返回對象)和108-112(填充並讀取返回對象)。
2
jnetpcap團隊聲明「儘管這些是本機C庫教程,但您會發現調用的過程和順序幾乎完全相同,如果您知道C語言和Java語言,那麼翻譯這些應該不會有太大麻煩「對於java和jNetPcap API的教程」這就是說,看看this非常深入的教程,jnetpcap團隊在他們的網站上推薦。
看看接近尾聲,下的實際嗅探,教程勾畫出內存中的數據包的內容,告訴你什麼地方去找找IP報頭。
其他的解決方案:
如果你能得到一個PCAP文件,你應該能夠使用本地DatagramPacket類適合您的需求。 DatagramPacket有一個名爲getSocketAddress()的方法,它將爲您提供IP地址和端口號。
1
PcapPacketHandler<String> jpacketHandler = new PcapPacketHandler<String>() {
final Tcp tcp=new Tcp();
final Ip4 ip = new Ip4();
public void nextPacket(PcapPacket packet, String user) {
final Tcp tcp=new Tcp();
if(packet.hasHeader(tcp)){
if(packet.hasHeader(ip)){
packet.getHeader(tcp);
System.out.printf("Received packet at %s caplen=%-4d len=%-4d %s %s\n",
new Date(packet.getCaptureHeader().timestampInMillis()),
packet.getCaptureHeader().caplen(), // Length actually captured
packet.getCaptureHeader().wirelen(), // Original length
user,FormatUtils.ip(ip.source()) // User supplied object
);
//JBuffer buffer = packet;
//int size=packet.size();
byte[] arr=packet.getByteArray(0, packet.size());
}}}
};
相關問題
- 1. Android接收來自相同IP地址的UDP數據包
- 2. jNetPcap數據包丟棄,如果來自特定IP地址
- 3. 阻止IP地址,查詢來自數據庫的IP
- 4. 獲取UDP數據包的IP地址
- 5. IP數據包和MAC目標地址
- 6. 將IP數據包從一個IP地址轉發到另一個IP地址
- 7. 來自httpheader的請求的IP地址
- 8. 如何丟棄來自特定源IP地址的數據包在c#
- 9. 計算來自2個給定IP地址的IP範圍數
- 10. 來自getaddrinfo的虛假IP地址&inet_ntop
- 11. 來自NSNetService的Swift IP地址
- 12. 來自IP地址的DNS名稱
- 13. getLocalHost()顯示錯誤的IP地址
- 14. Piwik未顯示確切的IP地址
- 15. 顯示IP地址的一部分
- 16. 顯示IP地址的HTTP重定向
- 17. IIS7不顯示綁定的IP地址
- 18. 困惑上的「IP地址顯示」
- 19. 不顯示系統的IP地址
- 20. 如何根據訪客的IP地址顯示本地時間?
- 21. 這些IP地址來自哪裏?
- 22. 顯示主機名和IP地址
- 23. 如何在網上顯示ip地址?
- 24. Oracle Virtual Box不顯示IP地址
- 25. Javascript - IP地址顯示國家
- 26. PHP顯示服務器IP地址
- 27. ifconfig從不顯示當前IP地址?
- 28. nginx反向代理「ip地址顯示」
- 29. 顯示圖像accroding IP地址
- 30. 不包括IP地址
它現在有用謝謝:) – 2012-08-15 17:53:47
@AJ:沒問題,請接受我的回答,如果你發現它最有幫助。如果遇到問題:http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – CODe 2012-08-15 22:52:49