package org.krakenapps.pcap.decoder.smb.trans2parser; import org.krakenapps.pcap.decoder.smb.SmbSession; import org.krakenapps.pcap.decoder.smb.TransData; import org.krakenapps.pcap.decoder.smb.trans2req.QueryFileInformationRequest; import org.krakenapps.pcap.decoder.smb.trans2resp.QueryFileInformationResponse; import org.krakenapps.pcap.decoder.smb.transparser.TransParser; import org.krakenapps.pcap.util.Buffer; import org.krakenapps.pcap.util.ByteOrderConverter; public class QueryFileInformationParser implements TransParser{ @Override public TransData parseRequest(Buffer setupBuffer , Buffer parameterBuffer , Buffer dataBuffer) { QueryFileInformationRequest transData = new QueryFileInformationRequest(); transData.setSubcommand(ByteOrderConverter.swap(setupBuffer.getShort())); transData.setFid(ByteOrderConverter.swap(parameterBuffer.getShort())); transData.setInformationLevel(ByteOrderConverter.swap(parameterBuffer.getShort()));//2.2.2.3.3 return transData; } @Override public TransData parseResponse(Buffer setupBuffer , Buffer parameterBuffer , Buffer dataBuffer , SmbSession session) { QueryFileInformationResponse transData = new QueryFileInformationResponse(); transData.setEaErrorOffset(ByteOrderConverter.swap(parameterBuffer.getShort())); //data belong to informationlevel return transData; } }