Помогите новичку
От: dubolom  
Дата: 08.04.04 11:21
Оценка:
Нашел где-то исходник снифера. Фактически он такой же как и здесь только с некоторыми добавлениями. Добавил в него несколько строк для сохранения пакетов на диск. Получилось вот что:

count = recv( s, Buffer, sizeof(Buffer), 0 );
// обработка IP-пакета
if( count >= sizeof(IPHeader) )
{
//---------Мои строки-----------------------------
number=number++;
itoa(number,number1,10);
strcpy(fname,"c:\\log\\p");
strcat(fname,number1);
strcat(fname,".txt");
f1=fopen(fname,"wb");
fprintf(f1,Buffer);
fclose(f1);
//------------------------------------------------
IPHeader* hdr = (IPHeader *)Buffer;
//что-то делаем с пакетом...

Все файлы получаются с таким содержимим: "Е" для UDP пакетов и "Е'" для TCP. Как же всетаки внутренности пакета посмотреть. Спасибо и сорри за потраченное время.
Re: Помогите новичку
От: butcher Россия http://bu7cher.blogspot.com
Дата: 08.04.04 11:26
Оценка:
Здравствуйте, dubolom.

Вы писали 8 апреля 2004 г., 15:21:22:

d> //---------Мои строки-----------------------------

d> number=number++;
d> itoa(number,number1,10);
d> strcpy(fname,"c:\\log\\p");
d> strcat(fname,number1);
d> strcat(fname,".txt");
d> f1=fopen(fname,"wb");
d> fprintf(f1,Buffer);
d> fclose(f1);
d> //------------------------------------------------
d> IPHeader* hdr = (IPHeader *)Buffer;
d> //что-то делаем с пакетом...

d> Все файлы получаются с таким содержимим: "Е" для UDP пакетов и

d> "Е'" для TCP. Как же всетаки внутренности пакета посмотреть.
d> Спасибо и сорри за потраченное время.

а ты не fprintf используй, там ведь у тебя не строка, а бинарные
данные. Попробуй fwrite например..

--
С уважением, butcher
Posted via RSDN NNTP Server 1.8 beta

Нет ничего невозможного..
Re[2]: Спасибо! Заработала!
От: dubolom  
Дата: 08.04.04 11:43
Оценка:
Осталось только разобрать что там к чему
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.