TCP Header format in java
On-campus and online computer science courses to Learn the basic concepts of Computer Science.This tutorial will cover c ,c++, java, data structure and algorithm,computer graphics,microprocessor,analysis of algorithms,Digital Logic Design and Analysis,computer architecture,computer networks,operating system.
code in Java:import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class TCPHeader { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Please enter the Hex Dump:"); String input = br.readLine(); String SPort = input.substring(0,4); System.out.println("Source Port: " + Integer.parseInt(SPort, 16)); String DPort = input.substring(4,8); System.out.println("Destination Port: " + Integer.parseInt(DPort, 16)); String Seq_No = input.substring(8,16); System.out.println("Sequence Number: " + Integer.parseInt(Seq_No, 16)); String Ack_No = input.substring(16,24); System.out.println("Acknowledgement Number: " + Integer.parseInt(Ack_No, 16)); String h_len = input.substring(24,25); System.out.println("Header Length: " + (4 * Integer.parseInt(h_len,16)) + " Bytes"); String flags = input.substring(26, 28); String flags_bin = Integer.toBinaryString(Integer.parseInt(flags,16)); while(flags_bin.length() < 8) flags_bin = "0" + flags_bin; flags_bin = flags_bin.substring(2, 8); if(flags_bin.charAt(0) == '1') System.out.println("Urgent Pointer is valid"); if(flags_bin.charAt(1) == '1') System.out.println("Acknowledgement Number is valid"); if(flags_bin.charAt(2) == '1') System.out.println("Packet needs to be delivered to the receiving application as soon as possible"); if(flags_bin.charAt(3) == '1') System.out.println("Sender is aborting the connection"); if(flags_bin.charAt(4) == '1') System.out.println("Sender is attempting to Synchronize Sequence Numbers"); if(flags_bin.charAt(5) == '1') System.out.println("No more Data from Sender"); String Win_Size = input.substring(28,32); System.out.println("Window Size: " + Integer.parseInt(Win_Size, 16) + " Bytes"); String checksum = input.substring(32,36); System.out.println("Header Checksum: " + Integer.parseInt(checksum,16)); String Urg_Ptr = input.substring(36,40); System.out.println("Urgent Pointer: " + Integer.parseInt(Urg_Ptr, 16)); } }output:-
Please enter the Hex Dump: 4E86512165131219256615AC8214561981394867 Source Port: 20102 Destination Port: 20769 Sequence Number: 1695748633 Acknowledgement Number: 627447212 Header Length: 32 Bytes Acknowledgement Number is valid Sender is aborting the connection Window Size: 22041 Bytes Header Checksum: 33081 Urgent Pointer: 18535 --------------------------------
0 comments: