package org.krakenapps.pcap.decoder.smb.ntreq; import org.krakenapps.pcap.decoder.smb.TransData; import org.krakenapps.pcap.decoder.smb.structure.SrvChunk; public class NtIoctlRequest implements TransData{ int fucntionCode; // nt subcommand short fid; byte isFctl; byte isFlags; // FSCTL_SRV_ENUMERATE_SNAPSHOTS 0x00144064 // Enumerate previous versions of a file. // FSCTL_SRV_REQUEST_RESUME_KEY 0x00140078 // Retrieve an opaque file reference for server-side data movement. // FSCTL_SRV_COPYCHUNK 0x001440F2 // Perform server-side data movement. byte []copyChunkResumeKey = new byte[24]; int chunkCount; int reserved; SrvChunk []copyChunkList = new SrvChunk[chunkCount]; // byte []data; public int getFucntionCode() { return fucntionCode; } public void setFucntionCode(int fucntionCode) { this.fucntionCode = fucntionCode; } public short getFid() { return fid; } public void setFid(short fid) { this.fid = fid; } public byte getIsFctl() { return isFctl; } public void setIsFctl(byte isFctl) { this.isFctl = isFctl; } public byte getIsFlags() { return isFlags; } public void setIsFlags(byte isFlags) { this.isFlags = isFlags; } public byte[] getData() { return data; } public void setData(byte[] data) { this.data = data; } public byte[] getCopyChunkResumeKey() { return copyChunkResumeKey; } public void setCopyChunkResumeKey(byte[] copyChunkResumeKey) { this.copyChunkResumeKey = copyChunkResumeKey; } public int getChunkCount() { return chunkCount; } public void setChunkCount(int chunkCount) { this.chunkCount = chunkCount; } public int getReserved() { return reserved; } public void setReserved(int reserved) { this.reserved = reserved; } public SrvChunk[] getCopyChunkList() { return copyChunkList; } public void setCopyChunkList(SrvChunk[] copyChunkList) { this.copyChunkList = copyChunkList; } public String toString(){ return String.format("Second Level : Nt Ioctl Request\n"+ "functionCode = 0x%s , fid = 0x%s , isFctl = 0x%s , isFlags = 0x%s , is\n", Integer.toHexString(this.fucntionCode), Integer.toHexString(this.fid) , Integer.toHexString(this.isFctl) , Integer.toHexString(this.isFlags)); } }