Ключевые слова:socket, raw, (найти похожие документы)
_ RU.NETHACK (2:5077/15.22) _______________________________________ RU.NETHACK _
From : Vitaly E Lavrov 2:5030/580 28 Oct 98 17:38:04
Subj : Re: IP&TCP SOCK_RAW (setsockopt)
________________________________________________________________________________
From: "Vitaly E.Lavrov" <lve@cit.aanet.ru>
Stanislav Oles <Stanislav.Oles@p15.f997.n463.z2.fidonet.org> wrote:
> Hарод, помогите, кто чем может! Траблы такие - требуется програмку написать.
> Да не простую, а чтоб через сокеты (win или unix) пакеты перекидывала и при
> этом IP и TCP заголовки сама приклеивала. Заглянул я недавно в сорцы нюков -
а
> там setsockopt() упоминается, в хелпе инфа по нему есть, но весьма неполная.
> Выглядит вызов примерно так:
Вообще то чтобы получить доступ ко всему пакету желательно было сначала
заказать особый сокет
socket(AF_INET, SOCK_RAW, IPPROTO_RAW))
потом сказать
on=1;
setsockopt(s, IPPROTO_IP, IP_HDRINCL, &on, sizeof(on))
При чтении с такого сокета ты будешь получать пакет вместе со всеми
заголовками ( но скорее всего без МАС-заголовка ?)
При записи через такой сокет нужно полностью заполнить все заголовки.
Есть еще один вид сокетов - SOCK_PACKET. Он _имеет_ доступ и к
МАС-заголовку.
А проще посмотри исходники от tcpdump-a
Виталий
.
--- ifmail v.2.13 * Origin: SPb State University of Aerospace Instrumentati (2:5030/580@fidonet)