⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ethernetpacket.java

📁 Java抓包必备
💻 JAVA
字号:
package jpcap;

/**
* 僀乕僒僱僢僩僷働僢僩傪昞尰偡傞僋儔僗偱偡
*/
public class EthernetPacket extends DatalinkPacket
{
	/**
	 * 埗愭MAC傾僪儗僗(6byte)
	 */
	public byte[] dst_mac;

	/**
	 * 憲怣尦MAC傾僪儗僗(6byte)
	 */
	public byte[] src_mac;

	/**
	 * 僼儗乕儉僞僀僾
	 */
	public short frametype;

	void setValue(byte[] dst,byte[] src,short frame){
		this.dst_mac=dst;
		this.src_mac=src;
		this.frametype=frame;
	}

	/**
	* 憲怣尦MAC傾僪儗僗暥帤楍傪曉偟傑偡
	*/
	public String getSourceAddress(){
		char[] src=new char[17];

		for(int i=0;i<5;i++){
			src[i*3]=hexUpperChar(src_mac[i]);
			src[i*3+1]=hexLowerChar(src_mac[i]);
			src[i*3+2]=':';
		}
		src[15]=hexUpperChar(src_mac[5]);
		src[16]=hexLowerChar(src_mac[5]);

		return new String(src);
	}

	/**
	* 憲怣愭MAC傾僪儗僗暥帤楍傪曉偟傑偡
	*/
	public String getDestinationAddress(){
		char[] dst=new char[17];

		for(int i=0;i<5;i++){
			dst[i*3]=hexUpperChar(dst_mac[i]);
			dst[i*3+1]=hexLowerChar(dst_mac[i]);
			dst[i*3+2]=':';
		}
		dst[15]=hexUpperChar(dst_mac[5]);
		dst[16]=hexLowerChar(dst_mac[5]);

		return new String(dst);
	}

	/**
	* 偙偺僿僢僟偺撪梕傪暥帤楍偱昞尰偟傑偡<BR>
	* <BR>
	* 宍幃丗src_mac -> dst_mac (frametype)
	*/
	public String toString(){


		return super.toString()+" "+getSourceAddress()+"->"+
			getDestinationAddress()+" ("+frametype+")";
	}

	private char hexUpperChar(byte b){
		b=(byte)((b>>4)&0xf);
		if(b==0) return '0';
		else if(b<10) return (char)('0'+b);
		else return (char)('a'+b-10);
	}

	private char hexLowerChar(byte b){
		b=(byte)(b&0xf);
		if(b==0) return '0';
		else if(b<10) return (char)('0'+b);
		else return (char)('a'+b-10);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -