思路:
圖都沒有,還好初試有計算機網絡
解答:
package bupt;
import java.util.Scanner;
/*
*@author:Totoro
*@createDate:2020年3月18日下午5:54:34
*/
public class IP資料包解析
{
public static void main(String[] args)
{
Scanner cin=new Scanner(System.in);
int T=cin.nextInt();
cin.nextLine();
String head_package;
String[] head;
for(int t=1;t<=T;++t)
{
head_package=cin.nextLine();
head=head_package.split(" ");
int len=Integer.valueOf(head[2]+head[3],16);
int[] source=new int[4];
for(int i=0;i<4;++i)
source[i]=Integer.valueOf(head[12+i],16);
int[] destination=new int[4];
for(int i=0;i<4;++i)
destination[i]=Integer.valueOf(head[16+i],16);
int source_port=Integer.valueOf(head[20]+head[21],16);
int destination_port=Integer.valueOf(head[22]+head[23],16);
System.out.println("Case #"+t);
System.out.println("Total length = "+len+" bytes");
System.out.println("Source = "+source[0]+"."+source[1]+"."+source[2]+"."+source[3]);
System.out.println("Destination = "+destination[0]+"."+destination[1]+"."+destination[2]+"."+destination[3]);
System.out.println("Source Port = "+source_port);
System.out.println("Destination Port = "+destination_port);
System.out.println();
}
}
}