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
83dc50e8
Commit
83dc50e8
authored
Oct 04, 2014
by
Brickner_cp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Improve Layers over IP tests.
parent
0ac5b87b
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
90 additions
and
63 deletions
+90
-63
GreTests.cs
PcapDotNet/src/PcapDotNet.Packets.Test/GreTests.cs
+4
-4
IcmpTests.cs
PcapDotNet/src/PcapDotNet.Packets.Test/IcmpTests.cs
+39
-25
IgmpTests.cs
PcapDotNet/src/PcapDotNet.Packets.Test/IgmpTests.cs
+38
-24
TcpTests.cs
PcapDotNet/src/PcapDotNet.Packets.Test/TcpTests.cs
+5
-6
UdpTests.cs
PcapDotNet/src/PcapDotNet.Packets.Test/UdpTests.cs
+4
-4
No files found.
PcapDotNet/src/PcapDotNet.Packets.Test/GreTests.cs
View file @
83dc50e8
...
@@ -59,12 +59,12 @@ namespace PcapDotNet.Packets.Test
...
@@ -59,12 +59,12 @@ namespace PcapDotNet.Packets.Test
Console
.
WriteLine
(
"Seed: "
+
seed
);
Console
.
WriteLine
(
"Seed: "
+
seed
);
random
=
new
Random
(
seed
);
random
=
new
Random
(
seed
);
IpV4Layer
ipV4Layer
=
random
.
NextIpV4Layer
(
null
);
ipV4Layer
.
HeaderChecksum
=
null
;
Layer
ipLayer
=
random
.
NextBool
()
?
(
Layer
)
ipV4Layer
:
random
.
NextIpV6Layer
(
IpV4Protocol
.
Gre
,
false
);
for
(
int
i
=
0
;
i
!=
200
;
++
i
)
for
(
int
i
=
0
;
i
!=
200
;
++
i
)
{
{
IpV4Layer
ipV4Layer
=
random
.
NextIpV4Layer
(
null
);
ipV4Layer
.
HeaderChecksum
=
null
;
Layer
ipLayer
=
random
.
NextBool
()
?
(
Layer
)
ipV4Layer
:
random
.
NextIpV6Layer
(
IpV4Protocol
.
Gre
,
false
);
GreLayer
greLayer
=
random
.
NextGreLayer
();
GreLayer
greLayer
=
random
.
NextGreLayer
();
PayloadLayer
payloadLayer
=
random
.
NextPayloadLayer
(
random
.
Next
(
100
));
PayloadLayer
payloadLayer
=
random
.
NextPayloadLayer
(
random
.
Next
(
100
));
...
...
PcapDotNet/src/PcapDotNet.Packets.Test/IcmpTests.cs
View file @
83dc50e8
...
@@ -54,12 +54,16 @@ namespace PcapDotNet.Packets.Test
...
@@ -54,12 +54,16 @@ namespace PcapDotNet.Packets.Test
};
};
Random
random
=
new
Random
();
Random
random
=
new
Random
();
int
seed
=
random
.
Next
();
IpV4Layer
ipV4Layer
=
random
.
NextIpV4Layer
(
null
);
Console
.
WriteLine
(
"Seed: "
+
seed
);
ipV4Layer
.
HeaderChecksum
=
null
;
random
=
new
Random
(
seed
)
;
for
(
int
i
=
0
;
i
!=
2000
;
++
i
)
for
(
int
i
=
0
;
i
!=
2000
;
++
i
)
{
{
IpV4Layer
ipV4Layer
=
random
.
NextIpV4Layer
(
null
);
ipV4Layer
.
HeaderChecksum
=
null
;
Layer
ipLayer
=
random
.
NextBool
()
?
(
Layer
)
ipV4Layer
:
random
.
NextIpV6Layer
(
IpV4Protocol
.
InternetControlMessageProtocol
,
false
);
IcmpLayer
icmpLayer
=
random
.
NextIcmpLayer
();
IcmpLayer
icmpLayer
=
random
.
NextIcmpLayer
();
icmpLayer
.
Checksum
=
null
;
icmpLayer
.
Checksum
=
null
;
if
(
icmpLayer
.
MessageType
==
IcmpMessageType
.
DestinationUnreachable
&&
if
(
icmpLayer
.
MessageType
==
IcmpMessageType
.
DestinationUnreachable
&&
...
@@ -83,45 +87,55 @@ namespace PcapDotNet.Packets.Test
...
@@ -83,45 +87,55 @@ namespace PcapDotNet.Packets.Test
break
;
break
;
}
}
PacketBuilder
packetBuilder
=
new
PacketBuilder
(
new
ILayer
[]
{
ethernetLayer
,
ip
V4
Layer
,
icmpLayer
}.
Concat
(
icmpPayloadLayers
));
PacketBuilder
packetBuilder
=
new
PacketBuilder
(
new
ILayer
[]
{
ethernetLayer
,
ipLayer
,
icmpLayer
}.
Concat
(
icmpPayloadLayers
));
Packet
packet
=
packetBuilder
.
Build
(
DateTime
.
Now
);
Packet
packet
=
packetBuilder
.
Build
(
DateTime
.
Now
);
Assert
.
IsTrue
(
packet
.
IsValid
,
"IsValid"
);
Assert
.
IsTrue
(
packet
.
IsValid
,
"IsValid"
);
byte
[]
buffer
=
(
byte
[])
packet
.
Buffer
.
Clone
();
byte
[]
buffer
=
(
byte
[])
packet
.
Buffer
.
Clone
();
buffer
.
Write
(
ethernetLayer
.
Length
+
ip
V4
Layer
.
Length
,
random
.
NextDatagram
(
icmpLayer
.
Length
));
buffer
.
Write
(
ethernetLayer
.
Length
+
ipLayer
.
Length
,
random
.
NextDatagram
(
icmpLayer
.
Length
));
Packet
illegalPacket
=
new
Packet
(
buffer
,
DateTime
.
Now
,
packet
.
DataLink
);
Packet
illegalPacket
=
new
Packet
(
buffer
,
DateTime
.
Now
,
packet
.
DataLink
);
Assert
.
IsFalse
(
illegalPacket
.
IsValid
,
"IsInvalid"
);
Assert
.
IsFalse
(
illegalPacket
.
IsValid
,
"IsInvalid"
);
if
(
illegalPacket
.
Ethernet
.
Ip
V4
.
Icmp
is
IcmpUnknownDatagram
)
if
(
illegalPacket
.
Ethernet
.
Ip
.
Icmp
is
IcmpUnknownDatagram
)
{
{
byte
[]
icmpBuffer
=
new
byte
[
illegalPacket
.
Ethernet
.
Ip
V4
.
Icmp
.
ExtractLayer
().
Length
];
byte
[]
icmpBuffer
=
new
byte
[
illegalPacket
.
Ethernet
.
Ip
.
Icmp
.
ExtractLayer
().
Length
];
ILayer
layer
=
illegalPacket
.
Ethernet
.
Ip
V4
.
Icmp
.
ExtractLayer
();
ILayer
layer
=
illegalPacket
.
Ethernet
.
Ip
.
Icmp
.
ExtractLayer
();
layer
.
Write
(
icmpBuffer
,
0
,
icmpBuffer
.
Length
,
null
,
null
);
layer
.
Write
(
icmpBuffer
,
0
,
icmpBuffer
.
Length
,
null
,
null
);
layer
.
Finalize
(
icmpBuffer
,
0
,
icmpBuffer
.
Length
,
null
);
layer
.
Finalize
(
icmpBuffer
,
0
,
icmpBuffer
.
Length
,
null
);
MoreAssert
.
AreSequenceEqual
(
illegalPacket
.
Ethernet
.
Ip
V4
.
Icmp
.
ToArray
(),
MoreAssert
.
AreSequenceEqual
(
illegalPacket
.
Ethernet
.
Ip
.
Icmp
.
ToArray
(),
icmpBuffer
);
icmpBuffer
);
Assert
.
AreEqual
(
illegalPacket
,
Assert
.
AreEqual
(
illegalPacket
,
PacketBuilder
.
Build
(
DateTime
.
Now
,
ethernetLayer
,
ip
V4Layer
,
illegalPacket
.
Ethernet
.
IpV4
.
Icmp
.
ExtractLayer
()));
PacketBuilder
.
Build
(
DateTime
.
Now
,
ethernetLayer
,
ip
Layer
,
illegalPacket
.
Ethernet
.
Ip
.
Icmp
.
ExtractLayer
()));
}
}
// Ethernet
// Ethernet
ethernetLayer
.
EtherType
=
EthernetType
.
IpV4
;
ethernetLayer
.
EtherType
=
ipLayer
==
ipV4Layer
?
EthernetType
.
IpV4
:
EthernetType
.
IpV6
;
Assert
.
AreEqual
(
ethernetLayer
,
packet
.
Ethernet
.
ExtractLayer
(),
"Ethernet Layer"
);
Assert
.
AreEqual
(
ethernetLayer
,
packet
.
Ethernet
.
ExtractLayer
(),
"Ethernet Layer"
);
ethernetLayer
.
EtherType
=
EthernetType
.
None
;
// IPv4
// IP.
ipV4Layer
.
Protocol
=
IpV4Protocol
.
InternetControlMessageProtocol
;
if
(
ipLayer
==
ipV4Layer
)
ipV4Layer
.
HeaderChecksum
=
((
IpV4Layer
)
packet
.
Ethernet
.
IpV4
.
ExtractLayer
()).
HeaderChecksum
;
{
Assert
.
AreEqual
(
ipV4Layer
,
packet
.
Ethernet
.
IpV4
.
ExtractLayer
());
// IPv4.
ipV4Layer
.
HeaderChecksum
=
null
;
ipV4Layer
.
Protocol
=
IpV4Protocol
.
InternetControlMessageProtocol
;
Assert
.
AreEqual
(
ipV4Layer
.
Length
,
packet
.
Ethernet
.
IpV4
.
HeaderLength
);
ipV4Layer
.
HeaderChecksum
=
((
IpV4Layer
)
packet
.
Ethernet
.
IpV4
.
ExtractLayer
()).
HeaderChecksum
;
Assert
.
IsTrue
(
packet
.
Ethernet
.
IpV4
.
IsHeaderChecksumCorrect
);
Assert
.
AreEqual
(
ipV4Layer
,
packet
.
Ethernet
.
IpV4
.
ExtractLayer
());
Assert
.
AreEqual
(
ipV4Layer
.
Length
+
icmpLayer
.
Length
+
icmpPayloadLength
,
ipV4Layer
.
HeaderChecksum
=
null
;
packet
.
Ethernet
.
IpV4
.
TotalLength
);
Assert
.
AreEqual
(
ipV4Layer
.
Length
,
packet
.
Ethernet
.
IpV4
.
HeaderLength
);
Assert
.
AreEqual
(
IpV4Datagram
.
DefaultVersion
,
packet
.
Ethernet
.
IpV4
.
Version
);
Assert
.
IsTrue
(
packet
.
Ethernet
.
IpV4
.
IsHeaderChecksumCorrect
);
Assert
.
AreEqual
(
ipV4Layer
.
Length
+
icmpLayer
.
Length
+
icmpPayloadLength
,
packet
.
Ethernet
.
IpV4
.
TotalLength
);
Assert
.
AreEqual
(
IpV4Datagram
.
DefaultVersion
,
packet
.
Ethernet
.
IpV4
.
Version
);
}
else
{
// IPv6.
Assert
.
AreEqual
(
ipLayer
,
packet
.
Ethernet
.
IpV6
.
ExtractLayer
());
}
// ICMP
// ICMP
IcmpDatagram
actualIcmp
=
packet
.
Ethernet
.
Ip
V4
.
Icmp
;
IcmpDatagram
actualIcmp
=
packet
.
Ethernet
.
Ip
.
Icmp
;
IcmpLayer
actualIcmpLayer
=
(
IcmpLayer
)
actualIcmp
.
ExtractLayer
();
IcmpLayer
actualIcmpLayer
=
(
IcmpLayer
)
actualIcmp
.
ExtractLayer
();
icmpLayer
.
Checksum
=
actualIcmpLayer
.
Checksum
;
icmpLayer
.
Checksum
=
actualIcmpLayer
.
Checksum
;
Assert
.
AreEqual
(
icmpLayer
,
actualIcmpLayer
);
Assert
.
AreEqual
(
icmpLayer
,
actualIcmpLayer
);
...
@@ -135,10 +149,10 @@ namespace PcapDotNet.Packets.Test
...
@@ -135,10 +149,10 @@ namespace PcapDotNet.Packets.Test
Assert
.
AreEqual
(
icmpLayer
.
MessageType
,
actualIcmp
.
MessageType
);
Assert
.
AreEqual
(
icmpLayer
.
MessageType
,
actualIcmp
.
MessageType
);
Assert
.
AreEqual
(
icmpLayer
.
CodeValue
,
actualIcmp
.
Code
);
Assert
.
AreEqual
(
icmpLayer
.
CodeValue
,
actualIcmp
.
Code
);
Assert
.
AreEqual
(
icmpLayer
.
MessageTypeAndCode
,
actualIcmp
.
MessageTypeAndCode
);
Assert
.
AreEqual
(
icmpLayer
.
MessageTypeAndCode
,
actualIcmp
.
MessageTypeAndCode
);
Assert
.
AreEqual
(
packet
.
Length
-
ethernetLayer
.
Length
-
ip
V4
Layer
.
Length
-
IcmpDatagram
.
HeaderLength
,
actualIcmp
.
Payload
.
Length
);
Assert
.
AreEqual
(
packet
.
Length
-
ethernetLayer
.
Length
-
ipLayer
.
Length
-
IcmpDatagram
.
HeaderLength
,
actualIcmp
.
Payload
.
Length
);
Assert
.
IsNotNull
(
icmpLayer
.
ToString
());
Assert
.
IsNotNull
(
icmpLayer
.
ToString
());
switch
(
packet
.
Ethernet
.
Ip
V4
.
Icmp
.
MessageType
)
switch
(
packet
.
Ethernet
.
Ip
.
Icmp
.
MessageType
)
{
{
case
IcmpMessageType
.
RouterSolicitation
:
case
IcmpMessageType
.
RouterSolicitation
:
case
IcmpMessageType
.
SourceQuench
:
case
IcmpMessageType
.
SourceQuench
:
...
@@ -169,7 +183,7 @@ namespace PcapDotNet.Packets.Test
...
@@ -169,7 +183,7 @@ namespace PcapDotNet.Packets.Test
case
IcmpMessageType
.
DomainNameReply
:
case
IcmpMessageType
.
DomainNameReply
:
default
:
default
:
throw
new
InvalidOperationException
(
"Invalid icmpMessageType "
+
packet
.
Ethernet
.
Ip
V4
.
Icmp
.
MessageType
);
throw
new
InvalidOperationException
(
"Invalid icmpMessageType "
+
packet
.
Ethernet
.
Ip
.
Icmp
.
MessageType
);
}
}
}
}
...
...
PcapDotNet/src/PcapDotNet.Packets.Test/IgmpTests.cs
View file @
83dc50e8
...
@@ -54,54 +54,68 @@ namespace PcapDotNet.Packets.Test
...
@@ -54,54 +54,68 @@ namespace PcapDotNet.Packets.Test
};
};
Random
random
=
new
Random
();
Random
random
=
new
Random
();
int
seed
=
random
.
Next
();
IpV4Layer
ipV4Layer
=
random
.
NextIpV4Layer
(
null
);
Console
.
WriteLine
(
"Seed: "
+
seed
);
ipV4Layer
.
HeaderChecksum
=
null
;
random
=
new
Random
(
seed
)
;
for
(
int
i
=
0
;
i
!=
200
;
++
i
)
for
(
int
i
=
0
;
i
!=
200
;
++
i
)
{
{
IpV4Layer
ipV4Layer
=
random
.
NextIpV4Layer
(
null
);
ipV4Layer
.
HeaderChecksum
=
null
;
Layer
ipLayer
=
random
.
NextBool
()
?
(
Layer
)
ipV4Layer
:
random
.
NextIpV6Layer
(
IpV4Protocol
.
InternetGroupManagementProtocol
,
false
);
IgmpLayer
igmpLayer
=
random
.
NextIgmpLayer
();
IgmpLayer
igmpLayer
=
random
.
NextIgmpLayer
();
Packet
packet
=
PacketBuilder
.
Build
(
DateTime
.
Now
,
ethernetLayer
,
ip
V4
Layer
,
igmpLayer
);
Packet
packet
=
PacketBuilder
.
Build
(
DateTime
.
Now
,
ethernetLayer
,
ipLayer
,
igmpLayer
);
Assert
.
IsTrue
(
packet
.
IsValid
,
"IsValid"
);
Assert
.
IsTrue
(
packet
.
IsValid
,
"IsValid"
);
// Ethernet
// Ethernet
ethernetLayer
.
EtherType
=
EthernetType
.
IpV4
;
ethernetLayer
.
EtherType
=
ipLayer
==
ipV4Layer
?
EthernetType
.
IpV4
:
EthernetType
.
IpV6
;
Assert
.
AreEqual
(
ethernetLayer
,
packet
.
Ethernet
.
ExtractLayer
(),
"Ethernet Layer"
);
Assert
.
AreEqual
(
ethernetLayer
,
packet
.
Ethernet
.
ExtractLayer
(),
"Ethernet Layer"
);
ethernetLayer
.
EtherType
=
EthernetType
.
None
;
// IPv4
// IP.
ipV4Layer
.
Protocol
=
IpV4Protocol
.
InternetGroupManagementProtocol
;
if
(
ipV4Layer
==
ipLayer
)
ipV4Layer
.
HeaderChecksum
=
((
IpV4Layer
)
packet
.
Ethernet
.
IpV4
.
ExtractLayer
()).
HeaderChecksum
;
{
Assert
.
AreEqual
(
ipV4Layer
,
packet
.
Ethernet
.
IpV4
.
ExtractLayer
(),
"IPv4 Layer"
);
// IPv4.
ipV4Layer
.
HeaderChecksum
=
null
;
ipV4Layer
.
Protocol
=
IpV4Protocol
.
InternetGroupManagementProtocol
;
ipV4Layer
.
HeaderChecksum
=
((
IpV4Layer
)
packet
.
Ethernet
.
IpV4
.
ExtractLayer
()).
HeaderChecksum
;
Assert
.
AreEqual
(
ipV4Layer
,
packet
.
Ethernet
.
IpV4
.
ExtractLayer
(),
"IPv4 Layer"
);
ipV4Layer
.
HeaderChecksum
=
null
;
}
else
{
// IPv6.
Assert
.
AreEqual
(
ipLayer
,
packet
.
Ethernet
.
IpV6
.
ExtractLayer
(),
"IPv6 Layer"
);
}
// IGMP
// IGMP
Assert
.
IsTrue
(
packet
.
Ethernet
.
Ip
V4
.
Igmp
.
IsChecksumCorrect
);
Assert
.
IsTrue
(
packet
.
Ethernet
.
Ip
.
Igmp
.
IsChecksumCorrect
);
Assert
.
AreEqual
(
igmpLayer
,
packet
.
Ethernet
.
Ip
V4
.
Igmp
.
ExtractLayer
(),
"IGMP Layer"
);
Assert
.
AreEqual
(
igmpLayer
,
packet
.
Ethernet
.
Ip
.
Igmp
.
ExtractLayer
(),
"IGMP Layer"
);
Assert
.
AreEqual
(
igmpLayer
.
GetHashCode
(),
packet
.
Ethernet
.
Ip
V4
.
Igmp
.
ExtractLayer
().
GetHashCode
(),
"IGMP Layer"
);
Assert
.
AreEqual
(
igmpLayer
.
GetHashCode
(),
packet
.
Ethernet
.
Ip
.
Igmp
.
ExtractLayer
().
GetHashCode
(),
"IGMP Layer"
);
Assert
.
AreNotEqual
(
igmpLayer
,
null
);
Assert
.
AreNotEqual
(
igmpLayer
,
null
);
Assert
.
AreNotEqual
(
igmpLayer
,
random
.
NextPayloadLayer
(
igmpLayer
.
Length
));
Assert
.
AreNotEqual
(
igmpLayer
,
random
.
NextPayloadLayer
(
igmpLayer
.
Length
));
Assert
.
AreNotEqual
(
igmpLayer
.
GetHashCode
(),
random
.
NextPayloadLayer
(
igmpLayer
.
Length
).
GetHashCode
());
Assert
.
AreNotEqual
(
igmpLayer
.
GetHashCode
(),
random
.
NextPayloadLayer
(
igmpLayer
.
Length
).
GetHashCode
());
if
(
packet
.
Ethernet
.
Ip
V4
.
Igmp
.
QueryVersion
!=
IgmpQueryVersion
.
Version3
)
if
(
packet
.
Ethernet
.
Ip
.
Igmp
.
QueryVersion
!=
IgmpQueryVersion
.
Version3
)
MoreAssert
.
IsSmallerOrEqual
(
IgmpDatagram
.
MaxMaxResponseTime
,
packet
.
Ethernet
.
Ip
V4
.
Igmp
.
MaxResponseTime
);
MoreAssert
.
IsSmallerOrEqual
(
IgmpDatagram
.
MaxMaxResponseTime
,
packet
.
Ethernet
.
Ip
.
Igmp
.
MaxResponseTime
);
if
(
packet
.
Ethernet
.
Ip
V4
.
Igmp
.
MessageType
!=
IgmpMessageType
.
MembershipQuery
)
if
(
packet
.
Ethernet
.
Ip
.
Igmp
.
MessageType
!=
IgmpMessageType
.
MembershipQuery
)
Assert
.
AreEqual
(
IgmpQueryVersion
.
None
,
packet
.
Ethernet
.
Ip
V4
.
Igmp
.
QueryVersion
);
Assert
.
AreEqual
(
IgmpQueryVersion
.
None
,
packet
.
Ethernet
.
Ip
.
Igmp
.
QueryVersion
);
switch
(
igmpLayer
.
MessageType
)
switch
(
igmpLayer
.
MessageType
)
{
{
case
IgmpMessageType
.
MembershipQuery
:
case
IgmpMessageType
.
MembershipQuery
:
switch
(
igmpLayer
.
QueryVersion
)
switch
(
igmpLayer
.
QueryVersion
)
{
{
case
IgmpQueryVersion
.
Version1
:
case
IgmpQueryVersion
.
Version1
:
Assert
.
AreEqual
(
1
,
packet
.
Ethernet
.
Ip
V4
.
Igmp
.
Version
);
Assert
.
AreEqual
(
1
,
packet
.
Ethernet
.
Ip
.
Igmp
.
Version
);
break
;
break
;
case
IgmpQueryVersion
.
Version2
:
case
IgmpQueryVersion
.
Version2
:
Assert
.
AreEqual
(
2
,
packet
.
Ethernet
.
Ip
V4
.
Igmp
.
Version
);
Assert
.
AreEqual
(
2
,
packet
.
Ethernet
.
Ip
.
Igmp
.
Version
);
break
;
break
;
case
IgmpQueryVersion
.
Version3
:
case
IgmpQueryVersion
.
Version3
:
Assert
.
AreEqual
(
3
,
packet
.
Ethernet
.
Ip
V4
.
Igmp
.
Version
);
Assert
.
AreEqual
(
3
,
packet
.
Ethernet
.
Ip
.
Igmp
.
Version
);
break
;
break
;
default
:
default
:
...
@@ -111,23 +125,23 @@ namespace PcapDotNet.Packets.Test
...
@@ -111,23 +125,23 @@ namespace PcapDotNet.Packets.Test
break
;
break
;
case
IgmpMessageType
.
MembershipReportVersion1
:
case
IgmpMessageType
.
MembershipReportVersion1
:
Assert
.
AreEqual
(
1
,
packet
.
Ethernet
.
Ip
V4
.
Igmp
.
Version
);
Assert
.
AreEqual
(
1
,
packet
.
Ethernet
.
Ip
.
Igmp
.
Version
);
break
;
break
;
case
IgmpMessageType
.
MembershipReportVersion2
:
case
IgmpMessageType
.
MembershipReportVersion2
:
case
IgmpMessageType
.
LeaveGroupVersion2
:
case
IgmpMessageType
.
LeaveGroupVersion2
:
Assert
.
AreEqual
(
2
,
packet
.
Ethernet
.
Ip
V4
.
Igmp
.
Version
);
Assert
.
AreEqual
(
2
,
packet
.
Ethernet
.
Ip
.
Igmp
.
Version
);
break
;
break
;
case
IgmpMessageType
.
MembershipReportVersion3
:
case
IgmpMessageType
.
MembershipReportVersion3
:
Assert
.
AreEqual
(
3
,
packet
.
Ethernet
.
Ip
V4
.
Igmp
.
Version
);
Assert
.
AreEqual
(
3
,
packet
.
Ethernet
.
Ip
.
Igmp
.
Version
);
break
;
break
;
default
:
default
:
Assert
.
Fail
(
igmpLayer
.
MessageType
.
ToString
());
Assert
.
Fail
(
igmpLayer
.
MessageType
.
ToString
());
break
;
break
;
}
}
foreach
(
IgmpGroupRecordDatagram
groupRecord
in
packet
.
Ethernet
.
Ip
V4
.
Igmp
.
GroupRecords
)
foreach
(
IgmpGroupRecordDatagram
groupRecord
in
packet
.
Ethernet
.
Ip
.
Igmp
.
GroupRecords
)
Assert
.
IsNotNull
(
groupRecord
.
ToString
());
Assert
.
IsNotNull
(
groupRecord
.
ToString
());
}
}
}
}
...
...
PcapDotNet/src/PcapDotNet.Packets.Test/TcpTests.cs
View file @
83dc50e8
...
@@ -58,15 +58,14 @@ namespace PcapDotNet.Packets.Test
...
@@ -58,15 +58,14 @@ namespace PcapDotNet.Packets.Test
Random
random
=
new
Random
();
Random
random
=
new
Random
();
int
seed
=
random
.
Next
();
int
seed
=
random
.
Next
();
Console
.
WriteLine
(
"Seed: {0}"
,
seed
);
Console
.
WriteLine
(
"Seed: {0}"
,
seed
);
random
=
new
Random
(
830476811
);
random
=
new
Random
(
seed
);
IpV4Layer
ipV4Layer
=
random
.
NextIpV4Layer
(
null
);
ipV4Layer
.
HeaderChecksum
=
null
;
IpV6Layer
ipV6Layer
=
random
.
NextIpV6Layer
(
IpV4Protocol
.
Tcp
,
false
);
for
(
int
i
=
0
;
i
!=
1000
;
++
i
)
for
(
int
i
=
0
;
i
!=
1000
;
++
i
)
{
{
IpV4Layer
ipV4Layer
=
random
.
NextIpV4Layer
(
null
);
ipV4Layer
.
HeaderChecksum
=
null
;
IpV6Layer
ipV6Layer
=
random
.
NextIpV6Layer
(
IpV4Protocol
.
Tcp
,
false
);
EthernetType
ethernetType
=
random
.
NextBool
()
?
EthernetType
.
IpV4
:
EthernetType
.
IpV6
;
EthernetType
ethernetType
=
random
.
NextBool
()
?
EthernetType
.
IpV4
:
EthernetType
.
IpV6
;
Layer
ipLayer
=
(
ethernetType
==
EthernetType
.
IpV4
?
(
Layer
)
ipV4Layer
:
ipV6Layer
);
Layer
ipLayer
=
(
ethernetType
==
EthernetType
.
IpV4
?
(
Layer
)
ipV4Layer
:
ipV6Layer
);
TcpLayer
tcpLayer
=
random
.
NextTcpLayer
();
TcpLayer
tcpLayer
=
random
.
NextTcpLayer
();
...
...
PcapDotNet/src/PcapDotNet.Packets.Test/UdpTests.cs
View file @
83dc50e8
...
@@ -57,12 +57,12 @@ namespace PcapDotNet.Packets.Test
...
@@ -57,12 +57,12 @@ namespace PcapDotNet.Packets.Test
Console
.
WriteLine
(
"Seed: "
+
seed
);
Console
.
WriteLine
(
"Seed: "
+
seed
);
random
=
new
Random
(
seed
);
random
=
new
Random
(
seed
);
IpV4Layer
ipV4Layer
=
random
.
NextIpV4Layer
(
null
);
ipV4Layer
.
HeaderChecksum
=
null
;
IpV6Layer
ipV6Layer
=
random
.
NextIpV6Layer
(
IpV4Protocol
.
Udp
,
false
);
for
(
int
i
=
0
;
i
!=
1000
;
++
i
)
for
(
int
i
=
0
;
i
!=
1000
;
++
i
)
{
{
IpV4Layer
ipV4Layer
=
random
.
NextIpV4Layer
(
null
);
ipV4Layer
.
HeaderChecksum
=
null
;
IpV6Layer
ipV6Layer
=
random
.
NextIpV6Layer
(
IpV4Protocol
.
Udp
,
false
);
EthernetType
ethernetType
=
random
.
NextBool
()
?
EthernetType
.
IpV4
:
EthernetType
.
IpV6
;
EthernetType
ethernetType
=
random
.
NextBool
()
?
EthernetType
.
IpV4
:
EthernetType
.
IpV6
;
Layer
ipLayer
=
(
ethernetType
==
EthernetType
.
IpV4
?
(
Layer
)
ipV4Layer
:
ipV6Layer
);
Layer
ipLayer
=
(
ethernetType
==
EthernetType
.
IpV4
?
(
Layer
)
ipV4Layer
:
ipV6Layer
);
UdpLayer
udpLayer
=
random
.
NextUdpLayer
();
UdpLayer
udpLayer
=
random
.
NextUdpLayer
();
...
...
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