with-git / MDS-opensource

0 stars 0 forks source link

[한주승] 프로젝트 소개 #3

Open jooseung opened 6 years ago

jooseung commented 6 years ago

프로젝트명

분야 및 한줄 정의

사용언어

주요 feature 에 대한 시나리오 1 개 ( 사용법 )

  1. 장치 열기
  2. 네트워크 패킷 캡처
  3. 캡처 패킷 분석.
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 결과)

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” 및 임의 내용 포함 테스트