Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
P
Pcap-Net
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Pcap-Net
Commits
94b0132a
Commit
94b0132a
authored
Aug 26, 2011
by
Brickner_cp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
DNS
parent
c9141cab
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
65 additions
and
10 deletions
+65
-10
DnsDataResourceRecord.cs
...otNet/src/PcapDotNet.Packets/Dns/DnsDataResourceRecord.cs
+16
-2
DnsDomainName.cs
PcapDotNet/src/PcapDotNet.Packets/Dns/DnsDomainName.cs
+11
-1
DnsLayer.cs
PcapDotNet/src/PcapDotNet.Packets/Dns/DnsLayer.cs
+4
-4
DnsQueryResourceRecord.cs
...tNet/src/PcapDotNet.Packets/Dns/DnsQueryResourceRecord.cs
+11
-1
DnsResourceDataUnknown.cs
...tNet/src/PcapDotNet.Packets/Dns/DnsResourceDataUnknown.cs
+14
-2
DnsResourceRecord.cs
PcapDotNet/src/PcapDotNet.Packets/Dns/DnsResourceRecord.cs
+9
-0
No files found.
PcapDotNet/src/PcapDotNet.Packets/Dns/DnsDataResourceRecord.cs
View file @
94b0132a
namespace
PcapDotNet.Packets.Dns
using
System
;
namespace
PcapDotNet.Packets.Dns
{
public
class
DnsDataResourceRecord
:
DnsResourceRecord
public
class
DnsDataResourceRecord
:
DnsResourceRecord
,
IEquatable
<
DnsDataResourceRecord
>
{
private
static
class
OffsetAfterBase
{
...
...
@@ -38,6 +40,18 @@
return
base
.
ToString
()
+
" "
+
Ttl
+
" "
+
Data
;
}
public
bool
Equals
(
DnsDataResourceRecord
other
)
{
return
EqualsBase
(
other
)
&&
Ttl
.
Equals
(
other
.
Ttl
)
&&
Data
.
Equals
(
other
.
Data
);
}
public
override
bool
Equals
(
object
obj
)
{
return
Equals
(
obj
as
DnsDataResourceRecord
);
}
internal
static
DnsDataResourceRecord
Parse
(
DnsDatagram
dns
,
int
offsetInDns
,
out
int
numBytesRead
)
{
DnsDomainName
domainName
;
...
...
PcapDotNet/src/PcapDotNet.Packets/Dns/DnsDomainName.cs
View file @
94b0132a
...
...
@@ -9,7 +9,7 @@ namespace PcapDotNet.Packets.Dns
/// <summary>
/// A domain name represented as a series of labels, and terminated by a label with zero length.
/// </summary>
public
class
DnsDomainName
public
class
DnsDomainName
:
IEquatable
<
DnsDomainName
>
{
private
const
byte
MaxLabelLength
=
63
;
private
const
ushort
CompressionMarker
=
0xC000
;
...
...
@@ -37,6 +37,16 @@ namespace PcapDotNet.Packets.Dns
return
_ascii
;
}
public
bool
Equals
(
DnsDomainName
other
)
{
return
_labels
.
SequenceEqual
(
other
.
_labels
);
}
public
override
bool
Equals
(
object
obj
)
{
return
Equals
(
obj
as
DnsDomainName
);
}
internal
int
GetLength
(
DnsDomainNameCompressionData
compressionData
,
int
offsetInDns
)
{
int
length
=
0
;
...
...
PcapDotNet/src/PcapDotNet.Packets/Dns/DnsLayer.cs
View file @
94b0132a
...
...
@@ -108,10 +108,10 @@ namespace PcapDotNet.Packets.Dns
IsRecusionAvailable
==
other
.
IsRecusionAvailable
&&
FutureUse
==
other
.
FutureUse
&&
ResponseCode
==
other
.
ResponseCode
&&
(
Queries
.
IsNullOrEmpty
()
==
other
.
Queries
.
IsNullOrEmpty
()
||
Queries
.
SequenceEqual
(
other
.
Queries
))
&&
(
Answers
.
IsNullOrEmpty
()
==
other
.
Answers
.
IsNullOrEmpty
()
||
Answers
.
SequenceEqual
(
other
.
Answers
))
&&
(
Authorities
.
IsNullOrEmpty
()
==
other
.
Authorities
.
IsNullOrEmpty
()
||
Authorities
.
SequenceEqual
(
other
.
Authorities
))
&&
(
Additionals
.
IsNullOrEmpty
()
==
other
.
Additionals
.
IsNullOrEmpty
()
||
Additionals
.
SequenceEqual
(
other
.
Additionals
));
(
Queries
.
IsNullOrEmpty
()
&&
other
.
Queries
.
IsNullOrEmpty
()
||
Queries
.
SequenceEqual
(
other
.
Queries
))
&&
(
Answers
.
IsNullOrEmpty
()
&&
other
.
Answers
.
IsNullOrEmpty
()
||
Answers
.
SequenceEqual
(
other
.
Answers
))
&&
(
Authorities
.
IsNullOrEmpty
()
&&
other
.
Authorities
.
IsNullOrEmpty
()
||
Authorities
.
SequenceEqual
(
other
.
Authorities
))
&&
(
Additionals
.
IsNullOrEmpty
()
&&
other
.
Additionals
.
IsNullOrEmpty
()
||
Additionals
.
SequenceEqual
(
other
.
Additionals
));
}
/// <summary>
...
...
PcapDotNet/src/PcapDotNet.Packets/Dns/DnsQueryResourceRecord.cs
View file @
94b0132a
...
...
@@ -2,7 +2,7 @@
namespace
PcapDotNet.Packets.Dns
{
public
class
DnsQueryResourceRecord
:
DnsResourceRecord
public
class
DnsQueryResourceRecord
:
DnsResourceRecord
,
IEquatable
<
DnsQueryResourceRecord
>
{
public
DnsQueryResourceRecord
(
DnsDomainName
domainName
,
DnsType
type
,
DnsClass
dnsClass
)
:
base
(
domainName
,
type
,
dnsClass
)
...
...
@@ -21,6 +21,16 @@ namespace PcapDotNet.Packets.Dns
protected
set
{
throw
new
InvalidOperationException
(
"No Resource Data in queries"
);
}
}
public
bool
Equals
(
DnsQueryResourceRecord
other
)
{
return
EqualsBase
(
other
);
}
public
override
bool
Equals
(
object
obj
)
{
return
Equals
(
obj
as
DnsQueryResourceRecord
);
}
internal
static
DnsQueryResourceRecord
Parse
(
DnsDatagram
dns
,
int
offsetInDns
,
out
int
numBytesRead
)
{
DnsDomainName
domainName
;
...
...
PcapDotNet/src/PcapDotNet.Packets/Dns/DnsResourceDataUnknown.cs
View file @
94b0132a
namespace
PcapDotNet.Packets.Dns
using
System
;
namespace
PcapDotNet.Packets.Dns
{
public
class
DnsResourceDataUnknown
:
DnsResourceData
public
class
DnsResourceDataUnknown
:
DnsResourceData
,
IEquatable
<
DnsResourceDataUnknown
>
{
public
DnsResourceDataUnknown
(
DataSegment
data
)
{
...
...
@@ -9,6 +11,16 @@
public
DataSegment
Data
{
get
;
private
set
;
}
public
bool
Equals
(
DnsResourceDataUnknown
other
)
{
return
other
!=
null
&&
Data
.
Equals
(
other
.
Data
);
}
public
override
bool
Equals
(
object
obj
)
{
return
Equals
(
obj
as
DnsResourceDataUnknown
);
}
internal
override
int
GetLength
(
DnsDomainNameCompressionData
compressionData
,
int
offsetInDns
)
{
return
Data
.
Length
;
...
...
PcapDotNet/src/PcapDotNet.Packets/Dns/DnsResourceRecord.cs
View file @
94b0132a
using
System
;
using
System.Collections.Generic
;
namespace
PcapDotNet.Packets.Dns
...
...
@@ -76,6 +77,14 @@ namespace PcapDotNet.Packets.Dns
return
DomainName
+
" "
+
Type
+
" "
+
DnsClass
;
}
internal
bool
EqualsBase
(
DnsResourceRecord
other
)
{
return
other
!=
null
&&
DomainName
.
Equals
(
other
.
DomainName
)
&&
Type
.
Equals
(
other
.
Type
)
&&
DnsClass
.
Equals
(
other
.
DnsClass
);
}
internal
static
bool
TryParseBase
(
DnsDatagram
dns
,
int
offsetInDns
,
out
DnsDomainName
domainName
,
out
DnsType
type
,
out
DnsClass
dnsClass
,
out
int
numBytesRead
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment