Nacuvanie portov VB/C#

Programovacie jazyky, rady, poradňa...
©_ME
Light Star
Light Star
Príspevky: 282
Registrovaný: 27 apr 2011, 19:33

Re: Nacuvanie portov VB/C#

Príspevok od používateľa ©_ME »

takze v C# je na odpocuvanie portov mozne pouzit len WinPcap, ktoreho kod na pouzitie sa i takmusi opisovat z C++ kodov? pochopil som to spravne? (aspon mam taky dojem)
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8224
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Nacuvanie portov VB/C#

Príspevok od používateľa harrison314 »

V programovani su vzdy aj ine moznosti. :P
WinPcap, ktoreho kod na pouzitie sa i takmusi opisovat z C++ kodov?
Ak si najdes lepsie tutorialy pre dotnetacky wraper, tak pouzi tie.

Ale ak ti staci vediet iba IPcky pouzi NETSTAT.
©_ME
Light Star
Light Star
Príspevky: 282
Registrovaný: 27 apr 2011, 19:33

Re: Nacuvanie portov VB/C#

Príspevok od používateľa ©_ME »

takze zistim na ake ip sa pripojuje?
sorien
Medium Expert
Medium Expert
Príspevky: 88
Registrovaný: 02 jún 2011, 21:55

Re: Nacuvanie portov VB/C#

Príspevok od používateľa sorien »

stiahni si http://sourceforge.net/projects/sharppc ... p/download
ak si pozries priklad AirPcapBasicCapture na asi 30 riadkoch mas opisane vsetko co potrebujes

Kód: Vybrať všetko

namespace AirPcapBasicCapture
{
    class Program
    {
        static void Main(string[] args)
        {
            var devices = AirPcapDeviceList.Instance;

            if (devices.Count == 0)
            {
                Console.WriteLine("No devices found, are you running as admin(if in Windows), or root(if in Linux/Mac)?");
                return;
            }

            Console.WriteLine("Available AirPcap devices:");
            
            for (var i = 0; i < devices.Count; i++)
            {
                Console.WriteLine("[{0}] - {1}", i, devices[i].Name);
            }

            Console.WriteLine();
            Console.Write("-- Please choose a device to capture: ");
            var devIndex = int.Parse(Console.ReadLine());

            var device = devices[devIndex];

            device.Open();
//[b]toto je dolezite nastavis udalost kam ti budu prichadzat packety[/b]
            device.OnPacketArrival += new PacketArrivalEventHandler(device_OnPacketArrival);
//[b]spustis zaznamenavanie paketov[/b]
            device.StartCapture();

            Console.WriteLine("Press Enter to exit");
            Console.ReadLine();

            device.StopCapture();

            Console.WriteLine("-- Capture stopped.");

            // Print out the device statistics
            Console.WriteLine(device.Statistics.ToString());

            // Close the pcap device
            device.Close();
        }
//[b]ked sa zachyti packet je zavolana tato funckia[/b]
        private static void device_OnPacketArrival(object sender, CaptureEventArgs e)
        {
            var time = e.Packet.Timeval.Date;
            var len = e.Packet.Data.Length;
            Console.WriteLine("{0}:{1}:{2},{3} Len={4}",
                time.Hour, time.Minute, time.Second, time.Millisecond, len);
            Console.WriteLine(e.Packet.ToString());
//[b] e.packet.data je pole bytov obsahujce paket v raw podobe[/b]
//[b] ten treba rozparsovat cez PacketDotNet.Packet.ParsePacket [/b]
            var p = PacketDotNet.Packet.ParsePacket(e.Packet.LinkLayerType, e.Packet.Data);
            Console.WriteLine(p.ToString(PacketDotNet.StringOutputType.VerboseColored));
//[b]vypise ti to nieco ako [EthernetPacket: 00234D5BF88B -> 00183F7775D1 proto=IpV4 (0x800) l=14][IPv4Packet: 192.168.1.76 -> 72.14.204.83 HeaderLength=5 Protocol=TCP TimeToLive=64][TCPPacket: SourcePort: 59038 -> DestinationPort: 443 ack[218134930 (0xd007992)]] [/b]

        }
    }
}
©_ME
Light Star
Light Star
Príspevky: 282
Registrovaný: 27 apr 2011, 19:33

Re: Nacuvanie portov VB/C#

Príspevok od používateľa ©_ME »

dik. a ten AirPcapDeviceList je na stiahnutie?
sorien
Medium Expert
Medium Expert
Príspevky: 88
Registrovaný: 02 jún 2011, 21:55

Re: Nacuvanie portov VB/C#

Príspevok od používateľa sorien »

to netreba stahovat, mas to uz pribalene

asi som zabudol potrebujes mat na pc nainstalovany winpcap inak ti to nepojde

Kód: Vybrať všetko

http://www.winpcap.org/install/default.htm
a bude ti to vyhadzovat chybu

Kód: Vybrať všetko

An unhandled exception of type 'System.DllNotFoundException' occurred in SharpPcap.dll
Additional information: Unable to load DLL 'wpcap': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
Napísať odpoveď