imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 20.08.2002, 08:47     # 1
Sink
Guest
 
Сообщения: n/a

Question Структура IP пакета

Здрасте всем зашедшим!
Требуется небольшая консультация...
Вот небольшой кусок кода от сниффера(функция обработки):

void handler(u_char *u, const struct pcap_pkthdr *hdr,const u_char *data)
{
struct ether_header *eh;
struct ip *iph;
struct tcphdr *tcph;
u_char *ptr;

//пропущен небольшой кусок кода

/*положим что у нас ip пакет с данными - как говорят в физике - в идеальных условиях*/
/*выцепляем заголовки*/
eh = (struct ether_header *)data;
iph = (struct ip *)(data+sizeof(*eh));
tcph = (struct tcphdr *)(data+sizeof(*eh)+sizeof(*iph));
/*остаются данные*/
ptr=data+sizeof(*eh)+sizeof(*iph)+sizeof(*tcph);

//пропущен кусок кода

}

Положим, что размер пакета максимальный. Допустим ловим все пакеты по порту 80. После того как убрали все заголовки, вывели данные, вот, что видим:

HTTP/1.1 200 OK
Date: Tue, 20 Aug 2002 04:31:38 GMT
Server: Apache/1.3.14 (Unix) rus/PL30.0
Connection: close
Content-Type: text/html

<html>


<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<meta NAME="GENERATOR" CONTENT="Microsoft FrontPage 3.0">
<title>Ââåäåíèå â ïðîòîêîëû Internet (÷àñòü 3) </title>
</head>

и т.д. до конца данных.

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


HTTP/1.1 200 OK
Date: Tue, 20 Aug 2002 04:31:38 GMT
Server: Apache/1.3.14 (Unix) rus/PL30.0
Connection: close
Content-Type: text/html

и оставить только сам код странички? Аналогично для всего остального...

Заранее спасибо всем ответившим!
 
Старый 21.08.2002, 04:01     # 2
helldomain
Administrator
 
Аватар для helldomain
 
Регистрация: 13.05.2002
Сообщения: 11 227

helldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиург
helldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиург
Ya ne sowsem ponyal, chto ti imeesh w widu, no esli ti sprashiwaesh, kak otdelit HTTP header ot HTTP data - oni delyatsya CRLF'om (t.e. pustoi strokoi). Ishi po kodam 0x0d, 0x0a (esli server UNIX'owskij - stawitsya kombinaciya 0x0a, 0x0a (\n)).
helldomain вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 10:20.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.