Главная страница
    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.013 c
3-1143087512
АндрейК
2006-03-23 07:18
2006.05.21
SQLServer 2000 на win2000Server и win2003Server


4-1141072241
Grief
2006-02-27 23:30
2006.05.21
процессорное время для процесса.


4-1140732100
Sysanin
2006-02-24 01:01
2006.05.21
Загруженость ситемы


15-1146050329
Rouse_
2006-04-26 15:18
2006.05.21
Хех, всем Модерам бояться :)


3-1143272861
Serg1981
2006-03-25 10:47
2006.05.21
Имя поля в качестве параметра





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский