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
4c1a54e6
Commit
4c1a54e6
authored
Jul 05, 2009
by
Brickner_cp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
--no commit message
--no commit message
parent
245f83f3
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
0 additions
and
179 deletions
+0
-179
Program.cs
PcapDotNet/src/PcapDotNet.Console/Program.cs
+0
-179
No files found.
PcapDotNet/src/PcapDotNet.Console/Program.cs
View file @
4c1a54e6
...
@@ -17,185 +17,6 @@ namespace WinPcapDotNet.Console
...
@@ -17,185 +17,6 @@ namespace WinPcapDotNet.Console
/// <param name="args"></param>
/// <param name="args"></param>
static
void
Main
(
string
[]
args
)
static
void
Main
(
string
[]
args
)
{
{
System
.
Console
.
WriteLine
(
"Start"
);
IList
<
LivePacketDevice
>
devices
=
LivePacketDevice
.
AllLocalMachine
;
if
(
devices
.
Count
==
0
)
return
;
for
(
int
i
=
0
;
i
!=
devices
.
Count
;
++
i
)
{
LivePacketDevice
device
=
devices
[
i
];
System
.
Console
.
WriteLine
(
i
+
1
+
". "
+
device
.
Name
);
}
int
index
;
do
{
ConsoleKeyInfo
key
=
System
.
Console
.
ReadKey
();
index
=
(
key
.
KeyChar
-
'1'
);
}
while
(
index
<
0
||
index
>=
devices
.
Count
);
const
string
filename
=
@"c:\tmp.pcap"
;
const
string
filter
=
"port 80"
;
IPacketDevice
chosenDevice
=
devices
[
index
];
System
.
Console
.
WriteLine
(
"Start GetNextPackets"
);
GetNextPackets
(
chosenDevice
,
filter
);
System
.
Console
.
WriteLine
(
"Finished GetNextPackets"
);
System
.
Console
.
ReadKey
();
System
.
Console
.
WriteLine
(
"Start Statistics Mode"
);
StatisticsMode
(
chosenDevice
,
filter
);
System
.
Console
.
WriteLine
(
"Finished Statistics Mode"
);
System
.
Console
.
ReadKey
();
System
.
Console
.
WriteLine
(
"Start Capturing packets"
);
CapturePacketsToFile
(
chosenDevice
,
filter
,
filename
);
System
.
Console
.
WriteLine
(
"Finished capturing packets"
);
System
.
Console
.
ReadKey
();
System
.
Console
.
WriteLine
(
"Start Sending packets"
);
SendPacketsFromFile
(
filename
,
chosenDevice
);
System
.
Console
.
WriteLine
(
"Finished Sending packets"
);
System
.
Console
.
ReadKey
();
System
.
Console
.
WriteLine
(
"Start Transmitting packets"
);
TransmitPacketsFromFile
(
filename
,
chosenDevice
);
System
.
Console
.
WriteLine
(
"Finished Transmitting packets"
);
}
private
static
void
GetNextPackets
(
IPacketDevice
device
,
string
filter
)
{
using
(
PacketCommunicator
deviceHandler
=
device
.
Open
(
PacketDevice
.
DefaultSnapshotLength
,
PacketDeviceOpenFlags
.
Promiscuous
,
10
*
1000
))
{
System
.
Console
.
WriteLine
(
"datalink = "
+
deviceHandler
.
DataLink
.
Name
+
" description = "
+
deviceHandler
.
DataLink
.
Description
);
//foreach (PcapDataLink datalink in deviceHandler.SupportedDataLinks)
// System.Console.WriteLine("supported datalink = " + datalink);
deviceHandler
.
SetFilter
(
filter
);
int
numPacketsGot
;
deviceHandler
.
GetSomePackets
(
1000
,
packet
=>
System
.
Console
.
WriteLine
(
"Got packet with "
+
packet
.
Timestamp
+
" timestamp and "
+
packet
.
Length
+
" size"
),
out
numPacketsGot
);
PacketTotalStatistics
statistics
=
deviceHandler
.
TotalStatistics
;
System
.
Console
.
WriteLine
(
statistics
.
ToString
());
}
}
private
static
void
StatisticsMode
(
IPacketDevice
device
,
string
filter
)
{
using
(
PacketCommunicator
deviceHandler
=
device
.
Open
())
{
deviceHandler
.
SetFilter
(
filter
);
deviceHandler
.
Mode
=
PacketCommunicatorMode
.
Statistics
;
for
(
int
i
=
0
;
i
!=
10
;
++
i
)
{
PacketSampleStatistics
statistics
;
PacketCommunicatorReceiveResult
result
=
deviceHandler
.
GetNextStatistics
(
out
statistics
);
switch
(
result
)
{
case
PacketCommunicatorReceiveResult
.
Ok
:
break
;
case
PacketCommunicatorReceiveResult
.
Timeout
:
continue
;
case
PacketCommunicatorReceiveResult
.
Eof
:
continue
;
}
System
.
Console
.
WriteLine
(
"Got statistics: "
+
statistics
);
}
}
}
private
static
void
TransmitPacketsFromFile
(
string
filename
,
IPacketDevice
liveDevice
)
{
IPacketDevice
offlineDevice
=
new
OfflinePacketDevice
(
filename
);
using
(
PacketSendQueue
sendQueue
=
new
PacketSendQueue
(
1024
*
1024
))
{
using
(
PacketCommunicator
offlineHandler
=
offlineDevice
.
Open
())
{
for
(
int
i
=
0
;
i
!=
100
;
++
i
)
{
Packet
packet
;
PacketCommunicatorReceiveResult
result
=
offlineHandler
.
GetPacket
(
out
packet
);
switch
(
result
)
{
case
PacketCommunicatorReceiveResult
.
Ok
:
break
;
case
PacketCommunicatorReceiveResult
.
Timeout
:
continue
;
case
PacketCommunicatorReceiveResult
.
Eof
:
continue
;
}
sendQueue
.
Enqueue
(
packet
);
}
}
using
(
PacketCommunicator
liveHandler
=
liveDevice
.
Open
())
{
sendQueue
.
Transmit
(
liveHandler
,
true
);
}
}
}
private
static
void
SendPacketsFromFile
(
string
filename
,
IPacketDevice
liveDevice
)
{
IPacketDevice
offlineDevice
=
new
OfflinePacketDevice
(
filename
);
using
(
PacketCommunicator
liveHandler
=
liveDevice
.
Open
())
{
using
(
PacketCommunicator
offlineHandler
=
offlineDevice
.
Open
())
{
for
(
int
i
=
0
;
i
!=
100
;
++
i
)
{
Packet
packet
;
PacketCommunicatorReceiveResult
result
=
offlineHandler
.
GetPacket
(
out
packet
);
switch
(
result
)
{
case
PacketCommunicatorReceiveResult
.
Ok
:
break
;
case
PacketCommunicatorReceiveResult
.
Timeout
:
continue
;
case
PacketCommunicatorReceiveResult
.
Eof
:
continue
;
}
liveHandler
.
SendPacket
(
packet
);
}
}
}
}
private
static
void
CapturePacketsToFile
(
IPacketDevice
device
,
string
filter
,
string
filename
)
{
using
(
PacketCommunicator
liveHandler
=
device
.
Open
())
{
liveHandler
.
SetFilter
(
filter
);
PacketDumpFile
dumpFile
=
liveHandler
.
OpenDump
(
filename
);
for
(
int
i
=
0
;
i
!=
100
;
++
i
)
{
Packet
packet
;
PacketCommunicatorReceiveResult
result
=
liveHandler
.
GetPacket
(
out
packet
);
switch
(
result
)
{
case
PacketCommunicatorReceiveResult
.
Ok
:
break
;
case
PacketCommunicatorReceiveResult
.
Timeout
:
continue
;
case
PacketCommunicatorReceiveResult
.
Eof
:
continue
;
}
System
.
Console
.
WriteLine
(
filter
+
" Packet Length = "
+
packet
.
Length
+
" Timestamp = "
+
packet
.
Timestamp
);
dumpFile
.
Dump
(
packet
);
}
}
}
}
}
}
}
}
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