如何用java设计解析ip数据包文件 如何用java设计解析ip数据包,如何用java设计解析ip数据包

java如何编程实现,获取固定IP发来所有的数据包 ?
Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)获取固定互联网协议(互联网协议)发来所有的数据包,需要实现网络嗅探的部分功能:代码如下;/* * * * * * * * * * * * * * * * * * * * jpcaptip 。Java */package m;importjpcap .PacketReceiverimportjpcap .JpcapCaptorimportjpcap 。数据包 。*;importjpcap .网络接口;importjpcap .网络接口地址;//导入Java 。网 。inet地址;//导入Java 。网 。unknownhostexceptionpublic类jpcaptipimplements数据包接收器{ publicvidreceivepacket(packet packet){ system 。出去 。println(” * * * * * * * * * * * * * * * * * * * * * * * * * * * * *);/*IP数据报报文头*/byte[]l=数据包 。页眉;/* for(intt=0;t21t){系统 。出去 。print(l[t]” * * * “);} */string str=” “;System.out.print(“报文头:”);for(inti=0;i24str=str整数 。tohexstring(米);//系统 。出去 。print(” * * * ” l[I]);}系统 。出去 。println(str);intd=l . length system . out . println(“首部长度:”(d * 8)” bit “);/*分析源互联网协议(互联网协议)地址和目的互联网协议(互联网协议)地址*//*分析协议类型*//**if(packet.getClass().等于(数据包 。class)){ ippackettipack=(IPPacket)数据包;byte[]iph=IP数据包 。选项;stringiphstr=新字符串(iph);系统 。出去 。println(iphstr);}*/if(packet.getClass().等于(ARP数据包 。class)){ system 。出去 。println(“协议类型:ARP协议”);请尝试{ ARP数据包tarppacket=(ARP数据包)数据包;System.out.println(“源网卡测量与控制(测量和控制)地址为:” ARP数据包 。getsenderhardwareaddress());System.out.println(“源互联网协议(互联网协议)地址为:” ARP数据包 。getsenderprotocoladdress());System.out.println(“目的网卡测量与控制(测量和控制)地址为:” ARP数据包 。gettargethardwareaddress());System.out.println(“目的互联网协议(互联网协议)地址为:” ARP数据包 。gettargetprotocoladdress());} catch(例外一){ e . printstacktrace();}}elseif(packet.getClass().等于(UDP数据包 。class)){ system 。出去 。println(“协议类型:UDP协议”);尝试{UDPPacketudpPacket=(UDPPacket)数据包;System.out.println(“源互联网协议(互联网协议)地址为:” UDP数据包 。src _ IP);intt port=UDP数据包 。src _ portSystem.out.println(“源端口为:” tport);System.out.println(“目的互联网协议(互联网协议)地址为:” UDP数据包 。dst _ IP);国际端口=UDP数据包 。dst _ portSystem.out.println(“目的端口为:” lport);} catch(例外一){ e . printstacktrace();}}elseif(packet.getClass().等于(TCP数据包 。class)){ system 。出去 。println(“协议类型:TCP协议”);try { TCPPackettcpPacket=(tcpp packet)packet;intt port=TCP数据包 。src _ portSystem.out.println(“源互联网协议(互联网协议)地址为:” tcpp数据包 。src _ IP);System.out.println(“源端口为:” tport);System.out.println(“目的互联网协议(互联网协议)地址为:” TCP数据包 。dst _ IP);intl port=TCP数据包 。dst _ portSystem.out.println(“目的端口为:” lport);} catch(例外一){ e . printstacktrace();}}elseif(packet.getClass().等于(icmp数据包 。类))系统 。出去 。println(“协议类型:ICMP协议”);elseSystem.out.println(“协议类型:GGP、EGP、JGP协议或开放式最短路径优先(开放式最短路径优先内部网关协议)协议或国际标准化组织的第四类运输协议TP4’);/*IP数据报文数据*/byte[]k=数据包 。数据;string str 1=System.out.print(“数据:”);for(inti=0;i24//str 1=str整数 。tohexstring(米);str 1=新字符串(k);//str 1=str 1k[I];//系统 。出去 。print(” * * * ” k[I]);}系统 。出去 。println(str 1);System.out.println(“数据报类型:”数据包 。getclass());系统 。出去 。println(” * * * * * * * * * * * * * * * * * * * * * * * * * * *);} publistativoidmain(String[]args)抛出异常{//TODO自动生成方法存根网络接口[]设备=jpcapcaptor 。获取设备列表();//.getDeviceList();//for(inti=0;i24系统 。出去 。打印(整数 。tohexstring(a));}系统 。出去 。println();网络接口地址[]k=设备[1] 。地址;//System.out.println(“网卡MAC:”整数 。tohexstring(a));for(intn=0;电话号码
用java编写一个能进行简单TCP/IP通信的C/S程序
导入Java 。网 。服务器套接字;导入Java 。网 。插座;公共类TCP服务器{ public static void main(String[]args)引发异常{ //创建服务器端的(电源)插座对象服务器套接字ss=新服务器套接字(5000);//监听连接socket socket=ss 。接受();//直到连接建立好之后代码才会往下执行System.out.println(“连接成功!”);} }导入Java 。网 。插座;公共类TCP客户端{ public static void main(String[]args)抛出异常{插座插座=新插座(” 127 。0 .0 .1 “,5000);}}
JAVA解析发送tcp ip报文
传输控制协议报文,首先你们要设计好包头和包尾,比如0x2是包头,0x3就是包尾 。这样收发解析才不会乱 。里面的协议基本上就是字节的形式就好 。无非就是服务端编码一下,客户端解码 。不过你在做这个之前一定要写好测试,否则数字节能数死人 。

如何用java设计解析ip数据包文件 如何用java设计解析ip数据包,如何用java设计解析ip数据包

文章插图
如何用 Java 获取系统 IP
公共静态InetAddress getSystemLocalIp()抛出未知的host exception { inet address inet=null;string osname=get system osname();尝试{ //针对窗户系统如果(osname 。equalsignorecase(” Windows XP “){ inet=getWinLocalIp();//针对Linux操作系统操作系统系统} else if(osname 。equalsignorecase(” Linux “){ inet=getUnixLocalIp();} if(null==inet){ throw new unknown host exception(“主机的互联网协议(互联网协议的缩写)地址未知”);} } catch(套接字异常e){ logger 。错误(“获取本机互联网协议(互联网协议的缩写)错误e . getmessage());抛出新的UnknownHostException(“获取本机互联网协议(互联网协议的缩写)错误e . getmessage());}返回inet}
怎样通过java来得到真实的ip地址
public static void main(String[]args){ try {//获取计算机名字符串名称=inet地址 。getlocalhost().获取主机名();//获取互联网协议(互联网协议)地址字符串IP=inet地址 。getlocalhost().getHostAddress();System.out.println(“计算机名:”姓名);System.out.println(“IP地址:” IP);} catch(UnknownHostException e){ system 。出去 。println(“异常:” e);e . printstacktrace();} }是否可以解决您的问题?
如何用java设计解析ip数据包文件 如何用java设计解析ip数据包,如何用java设计解析ip数据包

文章插图
java 如何获取指定ip数据
【如何用java设计解析ip数据包文件 如何用java设计解析ip数据包,如何用java设计解析ip数据包】导入Java 。网 。*;导入Java 。io 。*;导入Java 。util 。*;公共类服务器时间{/* * * * @ param args */public static void main(String[]args)引发异常{ //TODO自动生成的方法存根URL URL=新URL(“);//取得资源对象URL连接UC=URL 。打开连接();//生成连接对象UC 。connect();//发出连接长LD=UC 。getdate();//取得网站日期时间日期日期=新日期(LD);//转换为标准时间对象//分别取得时间中的小时,分钟和秒,并输出” System.out.print(date.getHours()”时date.getMinutes()”分date.getSeconds()”秒”);}}运行结果:16时一分23秒代码我自己测试过了,没问题!

    推荐阅读