Renamed some classes to lowercase
This commit is contained in:
parent
89076bfa54
commit
1d34a264b1
9 changed files with 70 additions and 71 deletions
|
|
@ -14,16 +14,16 @@ import java.util.List;
|
|||
* @see <a href="https://tools.ietf.org/html/rfc1035">rfc1035</a>
|
||||
* @author Ziver 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 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();
|
||||
public DnsPacket(){
|
||||
header = new DnsPacketHeader();
|
||||
questions = new ArrayList<>();
|
||||
answerRecords = new ArrayList<>();
|
||||
nameServers = new ArrayList<>();
|
||||
|
|
@ -31,47 +31,47 @@ public class DNSPacket {
|
|||
}
|
||||
|
||||
|
||||
public DNSPacketHeader getHeader(){
|
||||
public DnsPacketHeader getHeader(){
|
||||
return header;
|
||||
}
|
||||
public List<DNSPacketQuestion> getQuestions(){
|
||||
public List<DnsPacketQuestion> getQuestions(){
|
||||
return Collections.unmodifiableList(questions);
|
||||
}
|
||||
public List<DNSPacketResource> getAnswerRecords(){
|
||||
public List<DnsPacketResource> getAnswerRecords(){
|
||||
return Collections.unmodifiableList(answerRecords);
|
||||
}
|
||||
public List<DNSPacketResource> getNameServers(){
|
||||
public List<DnsPacketResource> getNameServers(){
|
||||
return Collections.unmodifiableList(nameServers);
|
||||
}
|
||||
public List<DNSPacketResource> getAdditionalRecords(){
|
||||
public List<DnsPacketResource> getAdditionalRecords(){
|
||||
return Collections.unmodifiableList(additionalRecords);
|
||||
}
|
||||
|
||||
|
||||
public void addQuestion(DNSPacketQuestion question){
|
||||
public void addQuestion(DnsPacketQuestion question){
|
||||
questions.add(question);
|
||||
header.countQuestion = questions.size();
|
||||
}
|
||||
public void addAnswerRecord(DNSPacketResource resource){
|
||||
public void addAnswerRecord(DnsPacketResource resource){
|
||||
answerRecords.add(resource);
|
||||
header.countAnswerRecord = answerRecords.size();
|
||||
}
|
||||
public void addNameServer(DNSPacketResource resource){
|
||||
public void addNameServer(DnsPacketResource resource){
|
||||
nameServers.add(resource);
|
||||
header.countNameServer = nameServers.size();
|
||||
}
|
||||
public void addAdditionalRecord(DNSPacketResource resource){
|
||||
public void addAdditionalRecord(DnsPacketResource resource){
|
||||
additionalRecords.add(resource);
|
||||
header.countAdditionalRecord = additionalRecords.size();
|
||||
}
|
||||
|
||||
|
||||
public static DNSPacket read(BinaryStructInputStream structIn) throws IOException {
|
||||
DNSPacket packet = new DNSPacket();
|
||||
public static DnsPacket read(BinaryStructInputStream structIn) throws IOException {
|
||||
DnsPacket packet = new DnsPacket();
|
||||
structIn.read(packet.header);
|
||||
|
||||
for (int i=0; i<packet.header.countQuestion; ++i) {
|
||||
DNSPacketQuestion question = new DNSPacketQuestion();
|
||||
DnsPacketQuestion question = new DnsPacketQuestion();
|
||||
structIn.read(question);
|
||||
packet.questions.add(question);
|
||||
}
|
||||
|
|
@ -80,9 +80,9 @@ public class DNSPacket {
|
|||
readResource(structIn, packet.header.countAdditionalRecord, packet.additionalRecords);
|
||||
return packet;
|
||||
}
|
||||
private static void readResource(BinaryStructInputStream structIn, int count, ArrayList<DNSPacketResource> list) throws IOException {
|
||||
private static void readResource(BinaryStructInputStream structIn, int count, ArrayList<DnsPacketResource> list) throws IOException {
|
||||
for (int i=0; i<count; ++i){
|
||||
DNSPacketResource resource = new DNSPacketResource();
|
||||
DnsPacketResource resource = new DnsPacketResource();
|
||||
structIn.read(resource);
|
||||
list.add(resource);
|
||||
}
|
||||
|
|
@ -91,13 +91,13 @@ public class DNSPacket {
|
|||
public void write(BinaryStructOutputStream structOut) throws IOException {
|
||||
structOut.write(header);
|
||||
|
||||
for (DNSPacketQuestion question : questions)
|
||||
for (DnsPacketQuestion question : questions)
|
||||
structOut.write(question);
|
||||
for (DNSPacketResource answerRecord : answerRecords)
|
||||
for (DnsPacketResource answerRecord : answerRecords)
|
||||
structOut.write(answerRecord);
|
||||
for (DNSPacketResource nameServer : nameServers)
|
||||
for (DnsPacketResource nameServer : nameServers)
|
||||
structOut.write(nameServer);
|
||||
for (DNSPacketResource additionalRecord : additionalRecords)
|
||||
for (DnsPacketResource additionalRecord : additionalRecords)
|
||||
structOut.write(additionalRecord);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ import zutil.parser.binary.BinaryStruct;
|
|||
* Created by Ziver on 2016-02-09.
|
||||
* Reference: http://tools.ietf.org/html/rfc1035
|
||||
*/
|
||||
public class DNSPacketHeader implements BinaryStruct {
|
||||
public class DnsPacketHeader implements BinaryStruct {
|
||||
public static final int OPCODE_QUERY = 0;
|
||||
public static final int OPCODE_IQUERY = 1;
|
||||
public static final int OPCODE_STATUS = 2;
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ import java.io.OutputStream;
|
|||
* Created by Ziver on 2016-02-09.
|
||||
* Reference: http://tools.ietf.org/html/rfc1035
|
||||
*/
|
||||
public class DNSPacketQuestion implements BinaryStruct {
|
||||
public class DnsPacketQuestion implements BinaryStruct {
|
||||
/** a host address */
|
||||
public static final int QTYPE_A = 1;
|
||||
/** an authoritative name server */
|
||||
|
|
@ -135,8 +135,8 @@ public class DNSPacketQuestion implements BinaryStruct {
|
|||
|
||||
|
||||
|
||||
public DNSPacketQuestion() {}
|
||||
public DNSPacketQuestion(String qName, int qType, int qClass) {
|
||||
public DnsPacketQuestion() {}
|
||||
public DnsPacketQuestion(String qName, int qType, int qClass) {
|
||||
this.qName = qName;
|
||||
this.qType = qType;
|
||||
this.qClass = qClass;
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ import zutil.parser.binary.BinaryStruct;
|
|||
* Created by Ziver on 2016-02-09.
|
||||
* Reference: http://tools.ietf.org/html/rfc1035
|
||||
*/
|
||||
public class DNSPacketResource implements BinaryStruct {
|
||||
public class DnsPacketResource implements BinaryStruct {
|
||||
|
||||
/** a host address */
|
||||
public static final int TYPE_A = 1;
|
||||
|
|
@ -110,7 +110,7 @@ public class DNSPacketResource implements BinaryStruct {
|
|||
/**
|
||||
* a domain name to which this resource record pertains.
|
||||
*/
|
||||
@CustomBinaryField(index=10, serializer=DNSPacketQuestion.FQDNStringSerializer.class)
|
||||
@CustomBinaryField(index=10, serializer=DnsPacketQuestion.FQDNStringSerializer.class)
|
||||
public String name;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -24,6 +24,6 @@
|
|||
package zutil.net.dns;
|
||||
|
||||
|
||||
public interface DNSResolutionListener{
|
||||
void receivedResponse(DNSPacket packet);
|
||||
public interface DnsResolutionListener {
|
||||
void receivedResponse(DnsPacket packet);
|
||||
}
|
||||
|
|
@ -24,7 +24,6 @@
|
|||
|
||||
package zutil.net.dns;
|
||||
|
||||
import zutil.ByteUtil;
|
||||
import zutil.io.MultiPrintStream;
|
||||
import zutil.log.LogUtil;
|
||||
import zutil.net.threaded.ThreadedUDPNetwork;
|
||||
|
|
@ -47,7 +46,7 @@ import java.util.logging.Logger;
|
|||
*
|
||||
* Created by Ziver
|
||||
*/
|
||||
public class MulticastDNSClient extends ThreadedUDPNetwork implements ThreadedUDPNetworkThread{
|
||||
public class MulticastDnsClient extends ThreadedUDPNetwork implements ThreadedUDPNetworkThread{
|
||||
private static final Logger logger = LogUtil.getLogger();
|
||||
|
||||
private static final String MDNS_MULTICAST_ADDR = "224.0.0.251";
|
||||
|
|
@ -55,17 +54,17 @@ public class MulticastDNSClient extends ThreadedUDPNetwork implements ThreadedUD
|
|||
|
||||
|
||||
private HashSet<Integer> activeProbes;
|
||||
private DNSResolutionListener listener;
|
||||
private DnsResolutionListener listener;
|
||||
|
||||
|
||||
public MulticastDNSClient() throws IOException {
|
||||
public MulticastDnsClient() throws IOException {
|
||||
super(MDNS_MULTICAST_ADDR, MDNS_MULTICAST_PORT);
|
||||
setThread( this );
|
||||
|
||||
this.activeProbes = new HashSet<>();
|
||||
}
|
||||
|
||||
public void setListener(DNSResolutionListener listener){
|
||||
public void setListener(DnsResolutionListener listener){
|
||||
this.listener = listener;
|
||||
}
|
||||
|
||||
|
|
@ -76,13 +75,13 @@ public class MulticastDNSClient extends ThreadedUDPNetwork implements ThreadedUD
|
|||
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
|
||||
BinaryStructOutputStream out = new BinaryStructOutputStream(buffer);
|
||||
|
||||
DNSPacket dnsPacket = new DNSPacket();
|
||||
DnsPacket dnsPacket = new DnsPacket();
|
||||
dnsPacket.getHeader().id = id;
|
||||
dnsPacket.getHeader().setDefaultQueryData();
|
||||
dnsPacket.addQuestion(new DNSPacketQuestion(
|
||||
dnsPacket.addQuestion(new DnsPacketQuestion(
|
||||
domain,
|
||||
DNSPacketQuestion.QTYPE_A,
|
||||
DNSPacketQuestion.QCLASS_IN));
|
||||
DnsPacketQuestion.QTYPE_A,
|
||||
DnsPacketQuestion.QCLASS_IN));
|
||||
dnsPacket.write(out);
|
||||
|
||||
DatagramPacket udpPacket = new DatagramPacket(
|
||||
|
|
@ -103,18 +102,18 @@ public class MulticastDNSClient extends ThreadedUDPNetwork implements ThreadedUD
|
|||
ByteArrayInputStream buffer = new ByteArrayInputStream(packet.getData(),
|
||||
packet.getOffset(), packet.getLength());
|
||||
BinaryStructInputStream in = new BinaryStructInputStream(buffer);
|
||||
DNSPacket dnsPacket = DNSPacket.read(in);
|
||||
DnsPacket dnsPacket = DnsPacket.read(in);
|
||||
|
||||
//System.out.println("Received:\n"+ByteUtil.toFormattedString(packet.getData(), packet.getOffset(), packet.getLength()));
|
||||
MultiPrintStream.out.dump(dnsPacket,3);
|
||||
|
||||
if (dnsPacket.getHeader().flagQueryResponse) {
|
||||
if (activeProbes.contains(dnsPacket.getHeader().id)){
|
||||
logger.fine("Received MDSN response from: "+packet.getAddress()+", msg id: " + dnsPacket.getHeader().id);
|
||||
logger.fine("Received MDNS response from: "+packet.getAddress()+", msg id: " + dnsPacket.getHeader().id);
|
||||
if (listener != null)
|
||||
listener.receivedResponse(dnsPacket);
|
||||
} else {
|
||||
logger.fine("Received MDSN packet: "+packet.getAddress()+", msg id: " + dnsPacket.getHeader().id);
|
||||
logger.fine("Received MDNS packet: "+packet.getAddress()+", msg id: " + dnsPacket.getHeader().id);
|
||||
}
|
||||
}
|
||||
} catch (IOException e){
|
||||
|
|
|
|||
|
|
@ -34,17 +34,17 @@ import java.io.ByteArrayOutputStream;
|
|||
import java.io.IOException;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static zutil.net.dns.DNSPacketQuestion.*;
|
||||
import static zutil.net.dns.DNSPacketResource.*;
|
||||
import static zutil.net.dns.DnsPacketQuestion.*;
|
||||
import static zutil.net.dns.DnsPacketResource.*;
|
||||
|
||||
/**
|
||||
* Created by Ziver
|
||||
*/
|
||||
public class DNSPacketTest {
|
||||
public class DnsPacketTest {
|
||||
|
||||
@Test
|
||||
public void writeRequestHeaderTest() throws IOException {
|
||||
DNSPacketHeader header = new DNSPacketHeader();
|
||||
DnsPacketHeader header = new DnsPacketHeader();
|
||||
header.setDefaultQueryData();
|
||||
header.countQuestion = 1;
|
||||
|
||||
|
|
@ -58,7 +58,7 @@ public class DNSPacketTest {
|
|||
|
||||
@Test
|
||||
public void readResponseHeaderTest() throws IOException {
|
||||
DNSPacketHeader header = new DNSPacketHeader();
|
||||
DnsPacketHeader header = new DnsPacketHeader();
|
||||
header.setDefaultResponseData();
|
||||
header.countAnswerRecord = 1;
|
||||
|
||||
|
|
@ -72,7 +72,7 @@ public class DNSPacketTest {
|
|||
|
||||
@Test
|
||||
public void writeRequestDnsPacketHeaderTest() throws IOException {
|
||||
DNSPacket packet = new DNSPacket();
|
||||
DnsPacket packet = new DnsPacket();
|
||||
packet.getHeader().setDefaultQueryData();
|
||||
|
||||
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
|
||||
|
|
@ -92,9 +92,9 @@ public class DNSPacketTest {
|
|||
|
||||
@Test
|
||||
public void writeRequestDnsPacketTest() throws IOException {
|
||||
DNSPacket packet = new DNSPacket();
|
||||
DnsPacket packet = new DnsPacket();
|
||||
packet.getHeader().setDefaultQueryData();
|
||||
packet.addQuestion(new DNSPacketQuestion("appletv.local", QTYPE_A, QCLASS_IN));
|
||||
packet.addQuestion(new DnsPacketQuestion("appletv.local", QTYPE_A, QCLASS_IN));
|
||||
|
||||
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
|
||||
BinaryStructOutputStream out = new BinaryStructOutputStream(buffer);
|
||||
|
|
@ -156,7 +156,7 @@ public class DNSPacketTest {
|
|||
};
|
||||
ByteArrayInputStream buffer = new ByteArrayInputStream(Converter.toBytes(input));
|
||||
BinaryStructInputStream in = new BinaryStructInputStream(buffer);
|
||||
DNSPacket packet = DNSPacket.read(in);
|
||||
DnsPacket packet = DnsPacket.read(in);
|
||||
|
||||
// Assert Header
|
||||
assertTrue("flagQueryResponse", packet.getHeader().flagQueryResponse);
|
||||
|
|
@ -165,7 +165,7 @@ public class DNSPacketTest {
|
|||
assertEquals("ARCOUNT", 2, packet.getHeader().countAdditionalRecord);
|
||||
// Assert Answer
|
||||
assertEquals("No Of Answer records", 1, packet.getAnswerRecords().size());
|
||||
DNSPacketResource answer = packet.getAnswerRecords().get(0);
|
||||
DnsPacketResource answer = packet.getAnswerRecords().get(0);
|
||||
assertEquals("NAME", "appletv.local", answer.name);
|
||||
assertEquals("TYPE", TYPE_A, answer.type);
|
||||
assertEquals("CLASS", CLASS_IN, answer.clazz);
|
||||
|
|
@ -205,13 +205,13 @@ Domain Name System (query)
|
|||
Type: A (Host address)
|
||||
Class: IN (0x0001)
|
||||
*/
|
||||
DNSPacket packet = new DNSPacket();
|
||||
DNSPacketHeader header = packet.getHeader();
|
||||
DnsPacket packet = new DnsPacket();
|
||||
DnsPacketHeader header = packet.getHeader();
|
||||
header.id = 0x241a;
|
||||
header.flagRecursionDesired = true;
|
||||
header.countQuestion = 1;
|
||||
|
||||
DNSPacketQuestion question = new DNSPacketQuestion();
|
||||
DnsPacketQuestion question = new DnsPacketQuestion();
|
||||
question.qName = "www.google.com";
|
||||
question.qType = QTYPE_A;
|
||||
question.qClass = QCLASS_IN;
|
||||
|
|
@ -298,7 +298,7 @@ Domain Name System (response)
|
|||
).replace(" ", ""));
|
||||
ByteArrayInputStream buffer = new ByteArrayInputStream(input);
|
||||
BinaryStructInputStream in = new BinaryStructInputStream(buffer);
|
||||
DNSPacket packet = DNSPacket.read(in);
|
||||
DnsPacket packet = DnsPacket.read(in);
|
||||
|
||||
assertEquals("id", 0x241a, packet.getHeader().id);
|
||||
assertTrue("flagQueryResponse", packet.getHeader().flagQueryResponse);
|
||||
|
|
@ -308,13 +308,13 @@ Domain Name System (response)
|
|||
assertEquals("No Of Additional records", 0, packet.getHeader().countAdditionalRecord);
|
||||
|
||||
// Query
|
||||
DNSPacketQuestion question = packet.getQuestions().get(0);
|
||||
DnsPacketQuestion question = packet.getQuestions().get(0);
|
||||
assertEquals("qNAME", "www.google.com", question.qName);
|
||||
assertEquals("qType", DNSPacketQuestion.QTYPE_A, question.qType);
|
||||
assertEquals("qClass", DNSPacketQuestion.QCLASS_IN, question.qClass);
|
||||
assertEquals("qType", DnsPacketQuestion.QTYPE_A, question.qType);
|
||||
assertEquals("qClass", DnsPacketQuestion.QCLASS_IN, question.qClass);
|
||||
|
||||
// Answer
|
||||
DNSPacketResource answer = packet.getAnswerRecords().get(0);
|
||||
DnsPacketResource answer = packet.getAnswerRecords().get(0);
|
||||
assertEquals("NAME", "12", answer.name);
|
||||
assertEquals("TYPE", TYPE_CNAME, answer.type);
|
||||
assertEquals("CLASS", CLASS_IN, answer.clazz);
|
||||
|
|
|
|||
|
|
@ -8,24 +8,24 @@ import java.io.IOException;
|
|||
import java.util.logging.Level;
|
||||
|
||||
/**
|
||||
* Test class for MulticastDNSClient.
|
||||
* Test class for MulticastDnsClient.
|
||||
*
|
||||
* Created by Ziver on 2016-04-26.
|
||||
*/
|
||||
public class MulticastDNSClientTest {
|
||||
public class MulticastDnsClientTest {
|
||||
|
||||
public static void main(String[] args) throws IOException {
|
||||
LogUtil.setGlobalLevel(Level.ALL);
|
||||
LogUtil.setGlobalFormatter(new CompactLogFormatter());
|
||||
|
||||
MulticastDNSClient mdns = new MulticastDNSClient();
|
||||
MulticastDnsClient mdns = new MulticastDnsClient();
|
||||
mdns.start();
|
||||
//mdns.sendProbe("appletv.local");
|
||||
//mdns.sendProbe("_services._dns-sd._udp.local");
|
||||
mdns.sendProbe("_googlecast._tcp.local");
|
||||
mdns.setListener(new DNSResolutionListener() {
|
||||
mdns.setListener(new DnsResolutionListener() {
|
||||
@Override
|
||||
public void receivedResponse(DNSPacket packet) {
|
||||
public void receivedResponse(DnsPacket packet) {
|
||||
System.out.println("####### Received:");
|
||||
MultiPrintStream.out.dump(packet,3);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,12 +33,12 @@ import java.io.IOException;
|
|||
import java.util.Map;
|
||||
|
||||
|
||||
public class HTTPGuessTheNumber implements HttpPage {
|
||||
public class HttpGuessTheNumber implements HttpPage {
|
||||
|
||||
public static void main(String[] args) throws IOException{
|
||||
//HttpServer server = new HttpServer("localhost", 443, FileFinder.find("keySSL"), "rootroot");//SSL
|
||||
HttpServer server = new HttpServer(8080);
|
||||
server.setDefaultPage(new HTTPGuessTheNumber());
|
||||
server.setDefaultPage(new HttpGuessTheNumber());
|
||||
server.run();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue