Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подсчитать трафик определенного сайта


frEE)styler ©   (2006-01-23 16:48:00) 

Уважаемые мастера помогите реализовать процедуру чтобы возможно было подсчитывать трафик различных сайтов.
заранее спасибо!


Rouse_   (2006-01-26 21:39:00) [1]

Прокси пишеться без компонентов. Но раз ассоциации только с компонентом, то IdMappedPort


frEE)styler   (2006-01-26 17:37:00) [2]

Подскажите какой компонент более приемлем для прокси....
для моих целей в принципе нужно просто пропускать через себя трафик и считать его по каждому хосту.


Rouse_   (2006-01-24 10:48:00) [3]


> спасибо за код. но он дает информацию об общем количестве
> потраченного трафика...
> а мне нужно знать сколько потратил я после посещения определенного
> сайта.

Сниффером смотри куда и как он лезет. Или пускай траффик через свой прокси, а на нем уже считай...


Корешь   (2006-01-24 08:07:00) [4]

Определись с задачей, стоит различать сайт и host(ip), на одном хосте(ip) может размещатся несколькой сайтов. Если хочешь считать трафик с хоста, то это подсчет пакетов и их размеров пришедших с заданного хоста, если тебя интересует http трафик, то тогда нужно делать прокси....


frEE)styler   (2006-01-23 20:32:00) [5]

спасибо за код. но он дает информацию об общем количестве потраченного трафика...
а мне нужно знать сколько потратил я после посещения определенного сайта.
т.е залез на один сайт программа начала считать трафик именного идущего с этого сайта и ни с каких других.


VirEx   (2006-01-23 19:26:00) [6]


>  [2] frEE)styler   (23.01.06 19:13)

не правильно формулируешь, уже сто раз были сделаны различные ветки про ЭТО:)
у Rouse_ © как раз есть исходник, хотя лан, вот код:

type
TMibIfRow = packed record
  wszName  : array[0..255] of WideChar;
  dwIndex  : DWORD;
  dwType  : DWORD;
  dwMtu  : DWORD;
  dwSpeed  : DWORD;
  dwPhysAddrLen : DWORD;
  bPhysAddr  : array[0..7] of Byte;
  dwAdminStatus : DWORD;
  dwOperStatus : DWORD;
  dwLastChange : DWORD;
  dwInOctets  : DWORD;
  dwInUcastPkts : DWORD;
  dwInNUCastPkts : DWORD;
  dwInDiscards : DWORD;
  dwInErrors  : DWORD;
  dwInUnknownProtos : DWORD;
  dwOutOctets  : DWORD;
  dwOutUCastPkts : DWORD;
  dwOutNUCastPkts : DWORD;
  dwOutDiscards : DWORD;
  dwOutErrors  : DWORD;
  dwOutQLen  : DWORD;
  dwDescrLen  : DWORD;
  bDescr  : array[0..255] of Char;
end;
TMibIfArray = array [0..512] of TMibIfRow;
PMibIfRow = ^TMibIfRow;
PmibIfArray = ^TmibIfArray;

type
TMibIfTable = packed record
dwNumEntries : DWORD;//кол-во соединений
Table     : TMibIfArray;
end;
PMibIfTable = ^ TMibIfTable;

var
Form1: TForm1;
GetIfTable:function(pIfTable: pMibIfTable; pdwSize:puLONG; bOrder:boolean):DWORD;stdcall;
Table   : tMibIfTable;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
h:THandle;
i,Size:integer;
buff:array [0..1024] of byte;
begin
h := LoadLibrary('IPHLPAPI.DLL'); //Загружаем библиотеку
if h = 0 then Exit;
@GetIfTable := GetProcAddress(h, 'GetIfTable');
Size:=SizeOf(Table);
GetIfTable(@Table, @Size, False );
memo1.Lines.Clear;
for i:=0 to Table.dwNumEntries-1 do begin
memo1.Lines.Add(Table.Table[i].bDescr);

memo1.Lines.Add(format('MAC: %d.%d.%d.%d.%d.%d.%d.%d.',
[Table.Table[i].bPhysAddr[0],
Table.Table[i].bPhysAddr[1],
Table.Table[i].bPhysAddr[2],
Table.Table[i].bPhysAddr[3],
Table.Table[i].bPhysAddr[4],
Table.Table[i].bPhysAddr[5],
Table.Table[i].bPhysAddr[6],
Table.Table[i].bPhysAddr[7]
]));
memo1.Lines.Add('in: '+inttostr(Table.Table[i].dwInOctets)+' byte');
memo1.Lines.Add('out: '+inttostr(Table.Table[i].dwOutOctets)+' byte');
memo1.Lines.Add('all: '+inttostr(Table.Table[i].dwInOctets+Table.Table[i].dwOutOctets)+' byte');

memo1.Lines.Add('');
end;

FreeLibrary(h);
end;


frEE)styler   (2006-01-23 19:13:00) [7]

ну видел программу трафик инспектор?
т.е мне нужно знать сколько я поратил трафика тех сайтов на которых был.
может я не так формулирую..


Rouse_   (2006-01-23 17:22:00) [8]

А как ты себе это вообще представляешь?


Наверх

Титульная страница Поиск, карта сайта Написать письмо