-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
프로젝트명
- chmorgan/packetnet
분야 및 한줄 정의
- 네트워크 패킷을 캡쳐하여 그 구조를 분석하거나 패킷을 구성할 수 있는 Library를 제공한다.
사용언어
- C#
주요 feature 에 대한 시나리오 1 개 ( 사용법 )
- 장치 열기
- 네트워크 패킷 캡처
- 캡처 패킷 분석.
using System;
using SharpPcap;
using PacketDotNet;
namespace CapturingAndParsingPackets
{
class MainClass
{
// used to stop the capture loop
private static bool stopCapturing = false;
public static void Main(string[] args)
{
int i = 0;
var devices = CaptureDeviceList.Instance;
foreach(var dev in devices)
{
Console.WriteLine("{0}) {1} {2}", i, dev.Name, dev.Description);
i++;
}
Console.WriteLine();
Console.Write("-- Please choose a device to capture: ");
i = int.Parse( Console.ReadLine() );
var device = devices[i];
// Open the device for capturing
int readTimeoutMilliseconds = 1000;
device.Open(DeviceMode.Promiscuous, readTimeoutMilliseconds);
while(stopCapturing == false)
{
// Capture a packet
var rawCapture = device.GetNextPacket();
// Parse the packet
Packet p = Packet.ParsePacket(rawCapture.LinkLayerType, rawCapture.Data);
// Print the packet
Console.WriteLine(p.ToString());
}
device.Close();
}
}
}
총라인수, 폴더구조(depth 2-3), 프로젝트 폴더기준 capture (CLI 기반이면 ls 결과)
- 총라인수
263 text files.
259 unique files.
48 files ignored.
http://cloc.sourceforge.net v 1.60 T=0.55 s (457.7 files/s, 87371.7 lines/s)
--------------------------------------------------------------------------------
Language files blank comment code
--------------------------------------------------------------------------------
C# 236 5554 13364 24005
XML 1 87 2 3934
MSBuild scripts 6 0 14 557
Bourne Again Shell 4 43 35 102
ASP.Net 3 1 0 26
--------------------------------------------------------------------------------
SUM: 250 5685 13415 28624
--------------------------------------------------------------------------------
- 폴더 구조
.
├── ArchitectureNotes
├── Examples
│ ├── CapturingAndParsingPackets
│ ├── CapturingAndParsingWiFiPackets
│ ├── ConstructingPackets
│ ├── ConstructingWiFiPackets
│ ├── SharpPcap.dll
│ ├── SharpPcap.dll.config
│ └── SharpPcap.xml
├── LICENSE
├── PacketDotNet
│ ├── ARPFields.cs
│ ├── ARPOperation.cs
│ ├── ARPPacket.cs
│ ├── ApplicationPacket.cs
│ ├── AssemblyInfo.cs
│ ├── DataLinkPacket.cs
│ ├── DrdaCodepointType.cs
│ ├── DrdaDDMFields.cs
│ ├── DrdaDDMPacket.cs
│ ├── DrdaDDMParameter.cs
│ ├── DrdaPacket.cs
│ ├── EthernetFields.cs
│ ├── EthernetPacket.cs
│ ├── EthernetPacketType.cs
│ ├── ICMPv4Fields.cs
│ ├── ICMPv4Packet.cs
│ ├── ICMPv4TypeCodes.cs
│ ├── ICMPv6Fields.cs
│ ├── ICMPv6Packet.cs
│ ├── ICMPv6Types.cs
│ ├── IGMPMessageType.cs
│ ├── IGMPv2Fields.cs
│ ├── IGMPv2Packet.cs
│ ├── ILogInactive.cs
│ ├── IPProtocolType.cs
│ ├── IPv4Fields.cs
│ ├── IPv4Packet.cs
│ ├── IPv6Fields.cs
│ ├── IPv6Packet.cs
│ ├── Ieee80211
│ ├── Ieee8021QFields.cs
│ ├── Ieee8021QPacket.cs
│ ├── IeeeP8021PPriorities.cs
│ ├── InternetLinkLayerPacket.cs
│ ├── InternetPacket.cs
│ ├── IpPacket.cs
│ ├── IpPort.cs
│ ├── IpVersion.cs
│ ├── LLDP
│ ├── LLDPPacket.cs
│ ├── LSA.cs
│ ├── LSAFields.cs
│ ├── LSAType.cs
│ ├── Libraries
│ ├── LinkLayers.cs
│ ├── LinuxSLLFields.cs
│ ├── LinuxSLLPacket.cs
│ ├── LinuxSLLType.cs
│ ├── MiscUtil
│ ├── NullFields.cs
│ ├── NullPacket.cs
│ ├── NullPacketType.cs
│ ├── OSPFPacket.cs
│ ├── OSPFPacketType.cs
│ ├── OSPFVersion.cs
│ ├── OSPFv2Fields.cs
│ ├── OSPFv2Packet.cs
│ ├── PPPFields.cs
│ ├── PPPPacket.cs
│ ├── PPPProtocol.cs
│ ├── PPPoECode.cs
│ ├── PPPoEFields.cs
│ ├── PPPoEPacket.cs
│ ├── Packet.cs
│ ├── PacketDotNet.csproj
│ ├── PacketOrByteArraySegment.cs
│ ├── PayloadType.cs
│ ├── RawIPPacket.cs
│ ├── RawIPPacketProtocol.cs
│ ├── SessionPacket.cs
│ ├── StringOutputType.cs
│ ├── Tcp
│ ├── TcpFields.cs
│ ├── TcpPacket.cs
│ ├── TransportPacket.cs
│ ├── UdpFields.cs
│ ├── UdpPacket.cs
│ ├── Utils
│ └── WakeOnLanPacket.cs
├── PacketDotNet.nuspec
├── PacketNet.slnArchitectureNotes LICENSE PacketDotNet.nuspec README.md Test
Examples PacketDotNet PacketNet.sln Scripts
├── README.md
├── Scripts
│ ├── Common
│ ├── ReleaseProcess
│ ├── build_release
│ ├── generate_release_notes
│ ├── make_bin_release
│ └── make_src_release
└── Test
├── ByteSetupMethods.cs
├── CaptureFiles
├── LoggingConfiguration.cs
├── Misc
├── NUnitSetupClass.cs
├── PacketType
├── Performance
├── Rate.cs
├── '''Test.csproj
├── lib
└── log4net.config
- 프로젝트 캡처
ArchitectureNotes LICENSE PacketDotNet.nuspec README.md Test
Examples PacketDotNet PacketNet.sln Scripts
개발 및 테스트 환경 구성 : IDE 및 편집기와 debugging 툴 세팅
- Visual Studio 2013 사용.
컴파일 / 실행 테스트 : “hello world” 및 임의 내용 포함 테스트
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels