390 likes | 400 Views
This research implements a system that provides protocol analysis, network diagnosis, and data reassembly capabilities, along with information retrieval and recovery from captured data packets on networks.
E N D
JPANDDR-Implementation of a JAVA based tool for Protocol Analysis, Network Diagnose, and Data Reassembly Advisor: Dr. Kai-Wei Ke Speaker: Jaw-Woei Ma Date:2007 07/28
Outline • Introduction • Protocol • JPANDDR • Test Result • Conclusions • Future Work • References • Demo
Introduction • JAVA • JVM • Object-Oriented • Mobility (Byte Code) • Support Network Programming • JPANDD is based on JAVA programming language
Introduction • JAVA API • Application Programming Interface • Reuse and Extend • Easy and fast to implement • JPANDDR uses JMF and JPcap Java 2的三大部份主要的API
JMF • Java Media Framework • enables audio, video and other time-based media to be added to applications and applets built on Java technology • JMF API 可分為兩部份 : 單純的 JMF 及架構在 RTP 上的JMF 。
JMF • JMF Process Model
JPcap • Java Package for Packet Capture • allows Java applications to capture and/or send packets to the network • based onlibpcap/winpcap and Raw Socket API
JPcap • JPcap Process Model
JPcap • Network Interface : represents a network interface • Jpcap Captor : capture packets or read packets from a captured file • Jpcap Sender : send packets • Packet : This is a root class of all the packets captured by Jpcap
Protocol • TCP • Transmission Control Protocol • Connection-Oriented • Reliable transmission • Flow Control and Congestion Control • ACK and Retransmission
Protocol • TCP Header Format
Protocol • Three-Way Handshake Diagram
Protocol • FTP • File Transfer Protocol • 2 TCP connection • Port 21 for control • Port 20 for data
Protocol • FTP command
Protocol • SIP • Session Initiation Protocol • Client/Server Mode • Request/Response Message
Protocol • Session Establishment System Sequence Diagram
JPANDDR • JAVA for Protocol Analysis, Network Diagnose, and Data Reassembly • Network Protocol Analyzer • Based on JAVA • JPcap and JMF API
JPANDDR • Function - 1 (1) Capture Packets and Header Analysis (2) Protocol Analysis (3) Packet Handshaking (4) Protocol Statistics and Analysis
JPANDDR • Function – 2 (5) Data Reassembly and Replay (6) Network Debug and Diagnose (7) Make up Packets (8) Additional Function
JPANDDR • System Architecture • Packet Maker Subsystem • Protocol Process Subsystem • Network Diagnosis and Debug Subsystem • Additional Function Subsystem
JPANDDR • Subsystem • Protocol Process Subsystem - Analytic Processor
JPANDDR – Data Reassembly and Replay • FTP Data Reassembly • For Stream Mode • Remove Packet Header • Packet Reorder and Reassembly
JPANDDR - Data Reassembly and Replay • pseudo Code
JPANDDR - Data Reassembly and Replay • VoIP Data Reassembly • RTP Transmission • For PCM encode
JPANDDR - Data Reassembly and Replay • PCM decode (1/2)
JPANDDR - Data Reassembly and Replay • PCM decode (2/2)
JPANDDR - Network Diagnose • ICMP Echo Request • Parse information in “ICMP Echo Replay” • TCP/IP協定測試 – 127.0.0.1 • 網卡測試 - IP • 自動搜索網段鄰居 – xxx.xxx.xxx.1~253 • 連外路由器(Gateway)測試 – xxx.xxx.xxx.254 (default) • DNS伺服器測試 – 168.95.1.1 (default) • ping Internet上某一主機的網址– www.google.com
Test Result - Network Diagnose • Network Diagnose Report
Test Result - Network Diagnose • Two test Result (1) No IP (2) No gateway
Test Result - Data Reassembly and Replay • Use LeapFTP • Stream Mode
Test Result - Data Reassembly and Replay • Sample Rate - 8kHZ • Sample Bits - 16bits • Little Endian • .wav file
System Compare • Sniffer、ClearSight與Ethereal,其中又以Ethereal最為被廣泛使用 • JPANDDR – Network Protocol Analyzer • Ethereal – Network Packet Analyzer
Conclusions • This research implements a system that provides not only the basic function such as protocol tracking、monitoring and analyzing network diagnosis capability ,but also information retrieval and recovery from the captured data packets on the networks.
Future Work JPANDDR • 無線網路協定的擴充 • IPv6協定的擴充 • 還原語音編碼格式的擴充 Goal: The world’s popular network protocol analyzer
References • http://netresearch.ics.uci.edu/kfujii/jpcap/doc/index.html • http://java.sun.com/products/java-media/jmf/reference/api/index.html • http://www.ethereal.com/