Added a DNSPacket class and Initial implementation of custom BinaryFields
This commit is contained in:
parent
609716adcb
commit
6071ad7c70
7 changed files with 171 additions and 27 deletions
52
src/zutil/net/dns/DNSPacket.java
Executable file
52
src/zutil/net/dns/DNSPacket.java
Executable file
|
|
@ -0,0 +1,52 @@
|
|||
package zutil.net.dns;
|
||||
|
||||
import zutil.parser.binary.BinaryStructOutputStream;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* This class is a general wrapper for a whole DNS packet.
|
||||
*
|
||||
* Created by ezivkoc on 2016-04-11.
|
||||
*/
|
||||
public class DNSPacket {
|
||||
private DNSPacketHeader header;
|
||||
private ArrayList<DNSPacketQuestion> questions;
|
||||
private ArrayList<DNSPacketResource> answerRecords;
|
||||
private ArrayList<DNSPacketResource> nameServers;
|
||||
private ArrayList<DNSPacketResource> additionalRecords;
|
||||
|
||||
|
||||
public DNSPacket(){
|
||||
header = new DNSPacketHeader();
|
||||
questions = new ArrayList<>();
|
||||
answerRecords = new ArrayList<>();
|
||||
nameServers = new ArrayList<>();
|
||||
additionalRecords = new ArrayList<>();
|
||||
}
|
||||
|
||||
|
||||
public static DNSPacket read(InputStream in){
|
||||
return null;
|
||||
}
|
||||
|
||||
public void write(OutputStream out) throws IOException {
|
||||
BinaryStructOutputStream structOut = new BinaryStructOutputStream(out);
|
||||
structOut.write(header);
|
||||
out.flush();
|
||||
|
||||
/*for (DNSPacketQuestion question : questions)
|
||||
question.write(out);
|
||||
for (DNSPacketResource answerRecord : answerRecords)
|
||||
answerRecord.write(out);
|
||||
for (DNSPacketResource nameServer : nameServers)
|
||||
nameServer.write(out);
|
||||
for (DNSPacketResource additionalRecord : additionalRecords)
|
||||
additionalRecord.write(out);*/
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue