Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];

Вниз

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

 
frEE)styler   (2006-01-23 16:48) [0]

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


 
Rouse_ ©   (2006-01-23 17:22) [1]

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


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

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


 
VirEx ©   (2006-01-23 19:26) [3]


>  [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 20:32) [4]

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


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

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


 
Rouse_ ©   (2006-01-24 10:48) [6]


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

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


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

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


 
Rouse_ ©   (2006-01-26 21:39) [8]

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



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.011 c
2-1146474009
Ded22
2006-05-01 13:00
2006.05.21
SQL Запрос !


15-1146175948
dyd
2006-04-28 02:12
2006.05.21
Регистрация домена


15-1146219441
fast2
2006-04-28 14:17
2006.05.21
Как прочитать (записать) NTFS-раздел не из под винды?


9-1130332463
Кефир87
2005-10-26 17:14
2006.05.21
TDXSound без VCL


6-1138334921
Bogdan1024
2006-01-27 07:08
2006.05.21
Как залить файлы на ftp-server средствами виндовз ХП?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский