Поздрави, скъпи Експерти!
Вие трябва да напишете програмата сходство обучени трябва пасивно да слушате до определено пристанище (той е известен предварително, което е свързано с наблюдение на програмата, не е необходимо да се) да бъде толкова просто, колкото е възможно и да не замръзва. Запазване не трябва да бъде всичко и навсякъде. С помощта на специално обучени е получил информация, че са слушане на програмата комуникира със сървъра с помощта на HTTP или UDP, трябва да се улови, и това и това.
Какво е най-лесният за изпълнение е в Делфи?
Благодаря за помощта.
Тата за дебилност система? ACC е създадена, за да отговори на собствения си въпрос.
Вероятен вид, че ако хората попитах какво решения Е, аз не намирам.
Ами смешно.
- употреби
- .
- конст
- sHEADER = '[TIME] [Prot PLEN] [Източник IP: Port] [Цел IP: Port] [услуга] [DLEN] [Packet] [Data] ";
- SPL = '% -12s% -4s% 4d% -20s>% -20s% -12s% 4d% S';
- тип
- TForm1 = клас (TForm)
- RichEdit1: TRichEdit;
- Memo1: TMemo;
- Label1: TLabel;
- процедура FormCreate (Sender: TObject);
- процедура FormDestroy (Sender: TObject);
- частен
- _monRawSocket: TMonitorSocket;
- процедура Initialize ();
- процедура GetPacket (Sender: TObject; PacketInfo: TPacketInfo);
- обществен
- приключи;
- Var
- Form1: TForm1;
- изпълнение
- процедура TForm1.FormCreate (Sender: TObject);
- започвам
- Initialize ();
- Memo1.Lines.Clear;
- Memo1.Lines.Add (LocalIpList [0]);
- приключи;
- процедура TForm1.FormDestroy (Sender: TObject);
- започвам
- _monRawSocket.Free;
- приключи;
- процедура TForm1.Initialize;
- започвам
- _monRawSocket: = TMonitorSocket.Create (самостоятелно);
- _monRawSocket.OnPacketEvent: = GetPacket;
- _monRawSocket.StartMonitor;
- RichEdit1.Lines.Clear;
- RichEdit1.SelAttributes.Color: = clMaroon;
- RichEdit1.Lines.Add (sHEADER);
- приключи;
- процедура TForm1.GetPacket (Sender: TObject; PacketInfo: TPacketInfo);
- Var
- _srcIP, _distIP. String;
- _A, _b: низ;
- започвам
- SetLength (PacketInfo.DataBuf, 96);
- _b: = PacketInfo.DataBuf;
- StringRemCntls (_b);
- ако PacketInfo.EtherProto = PROTO_IP тогава
- започвам
- _srcIp: = IPToStr (PacketInfo.AddrSrc) + ':' + IntToStr (PacketInfo.PortSrc);
- _distip: = IPToStr (PacketInfo.AddrDest) + ':' + IntToStr (PacketInfo.PortDest);
- ако PacketInfo.ProtoType = IPPROTO_ICMP тогава
- _A: = Формат (SPL,
- [TimeToZStr (PacketInfo.PacketDT),
- GetIPProtoName (PacketInfo.ProtoType),
- Spl,
- _srcIp,
- _distIp,
- малки (GetICMPType (PacketInfo.IcmpType)),
- PacketInfo.DataLen, _b])
- още
- започвам
- ако (PacketInfo.DataLen = 0), тогава
- _b: = GetFlags (PacketInfo.TcpFlags);
- _A: = Формат (SPL,
- [TimeToZStr (PacketInfo.PacketDT),
- GetIPProtoName (PacketInfo.ProtoType),
- PacketInfo.PacketLen,
- _srcIp,
- _distIp,
- Малки букви (GetServiceNameEx (PacketInfo.PortSrc, PacketInfo.PortDest)),
- PacketInfo.DataLen, _b]);
- приключи;
- край
- още
- започвам
- _A: = Формат (SPL,
- [TimeToZStr (PacketInfo.PacketDT),
- GetEtherProtoName (PacketInfo.EtherProto),
- PacketInfo.PacketLen,
- MacToStr (PacketInfo.EtherSrc),
- MacToStr (PacketInfo.EtherDest),
- ''
- PacketInfo.DataLen,
- _b]);
- приключи;
- RichEdit1.Lines.Add (_A);
- приключи;
издадат мини-форум
Отговаряйте някого.
Prompt тук Indy употреба, WinPcap като равенство, или други възможности има?
Вярвайте в извънземни цивилизации не е средство за вярват в извънземни.
Инди не помага. (Освен ако не напишете своя пълномощник).
Ако просто искате да следите движението - по-добре е да изтеглите Wireshark себе си - той otmonitoreny и по рафтовете на магазините и гниене.
Tick "прочете потвърждение" - универсален зло.
Не се нуждаят от нея в моя прог, Wireshark, което имам.
Налице е също така VoicedSniffer, който е направен, за да Delphi и аз не бих казал, че виси. WinPcap шофьор не е инсталиран, но това е как тя работи.
Вярвайте в извънземни цивилизации не е средство за вярват в извънземни.
За инди изглежда, че е така. Вчера облече формата на всички компоненти, които се отнасят до UDP, HTTP, TCP, нито каквито и да било бита не са получени. Тя изглежда да има vinpikapom цигулка.
Вярвайте в извънземни цивилизации не е средство за вярват в извънземни.
След седи в продължение на няколко дни в интернет открих, че без vinpikapa прескочена. Лежах на кода, който изведнъж дойде по-удобно. Ако имате много адаптери в него система за сортиране на себе си. Sniffer просто като една стотинка, не изключвам обработени. Ако трябва да се отговори (програмно естествено) на събитията в клиентското приложение на сървъра след това просто добавете ограничение от IP, за да получите данни само от правилния сървър.
Вярвайте в извънземни цивилизации не е средство за вярват в извънземни.
Да, защо да щях да забравя да обясни новак X-Men, че кода, за да добавите към секцията Употреби от следните неща:
Monsock, WSocket, Packet32, Winsock, Magsubs1, Packhdrs
Всъщност файловете, които търсите в интернет хвърля в папката с проекта, ние хвърлят под формата на бележка и RichEdit, и препращат към светло бъдеще
Вярвайте в извънземни цивилизации не е средство за вярват в извънземни.
И Все пак, тя има един прост и замръзва.
Вярвайте в извънземни цивилизации не е средство за вярват в извънземни.
приключи;
Е, сега всичко база там, а след това мисля за себе си.
Вярвайте в извънземни цивилизации не е средство за вярват в извънземни.