Здрасте всем зашедшим!
Требуется небольшая консультация...
Вот небольшой кусок кода от сниффера(функция обработки):
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
и оставить только сам код странички? Аналогично для всего остального...
Заранее спасибо всем ответившим!