@computercarguy нет, но если первоначальная заявка отправляется тревоги тогда вы посылаете им "Нет, спасибо" ответить. Как бы не приятно было бы, чтобы дать каждому шанс, у вас есть один слот, а несколько кандидатов, и это *нормальная* чтобы начать сортировку там. Что касается языковых навыков, есть разница между тем, чтобы уметь общаться на втором языке, так и не сумев. Если знания английского языка остановить их общения, они принципиально не могут работать в уни, где они должны общаться на английском языке, поэтому они применяются в неположенном месте и должны быть отвергнуты. Я думаю, что бальзамический часто немного слаще и сильнее? Может быть, стоит разбавлять с небольшим количеством обычного рисового уксуса, если это так.

Я пытаюсь сделать перехват пакетов программы в C, но я пытаюсь запустить из различных открытых источников, не возвращаясь трафик с мой горшок локальных сетей 'ЭМ1-но всегда читаю интерфейс обслуживания'.

Код выглядит следующим образом :-

/*************************************************** * файл: testpcap1.с * Дата: Чт Мар 08 17:14:36 МСТ 2001 * автор: Мартин Касадо * расположение: Лос-Анджелес аэропорт (хе-хе) * * простой один пакет программы захвата *****************************************************/
включают
включают
включать /* если это дает вам сообщение об ошибке, попробуйте подгонянный подгонянный.ч */
включают
включают
включают
включают
включать /* включая сеть/сеть Ethernet.ч */

тап_п(АГДС, типа char*переменной argv) { int я; чар Дев; //буква Дев[] = "ЭМ1"; / устройство для понюхать / чар errbuf[PCAP_ERRBUF_SIZE]; pcap_t худо; как const u_char пакет; структуру struct pcap_pkthdr режим HDR; / PCAP по.ч */ структура ether_header eptr; / сеть/сеть Ethernet.ч */

u_char *ПТР; /* печать заголовка скобяными информация */

/* берите устройства на пик в... */
Дэв = pcap_lookupdev(errbuf);

если(Дев == нуль)
{
функции printf("%з\п",errbuf);
выход(1);
}

функции printf("ДЭВ: %з\п",Дэв);

/* открываем устройства для нюхания.

 pcap_t *pcap_open_live(типа char *устройство,инт snaplen, prmisc инт,инт to_ms,
 голец *ebuf)

 snaplen - максимальный размер пакетов для захвата в байтах
 promisc - установить карты в режиме promiscuous?
 to_ms - время ожидания пакетов в миллисекундах, прежде чем читать
 время
 errbuf - если что-то случится, поместите строку ошибки здесь

 Обратите внимание, если вы меняете "prmisc" парам ничего, кроме нуля, вы
 получить все пакеты, устройство не видит, то ли они intendeed для вас или
 нет!! Убедитесь, что вы знаете правила сети вы работаете на
 прежде чем установить свои карты в режиме promiscuous!! */

Опи = pcap_open_live(Дев,BUFSIZ,0,-3,errbuf);

если(ОП == нуль)
{
 функции printf("pcap_open_live(): %з\п",errbuf);
выход(1);
}


/*
 возьмите пакет от Опи (ура!) 
 u_char *pcap_next(pcap_t *P,в структуру struct pcap_pkthdr *ч) 
 так просто пройти в дескрипторе мы получили от 
 наш призыв к pcap_open_live и выделено 
 структуру struct pcap_pkthdr */

пакет = pcap_next(Опи,&РВБ);

если(пакет == нуль)
{/* не работает *хнык* */
 функции printf("не хватай пакет\Н");
выход(1);
}


/* структуру struct pcap_pkthdr {
 структура timeval, которая ТС; штамп времени 
 bpf_u_int32 caplen; длина части присутствует 
 bpf_u_int32; lebgth этот пакет (с провод) 
}
*/

функции printf("схватил пакет длина %d\n",и по отдельности.лен);
функции printf("получил в ..... %з\п",то ctime((пост на time_t*)&РВБ.ТС.параметры tv_sec)); 
функции printf("длина адреса Ethernet равен %d\n",то ETHER_HDR_LEN);

/* начнем с заголовка эфир... */
eptr = (структуры ether_header *) пакет;

/* Сделать парочку проверок, чтобы посмотреть, что пакетов типа мы..*/
если (ntohs (eptr->ether_type) == ETHERTYPE_IP)
{
 функции printf("типа Ethernet наговор:%х декабря:%D-это IP-пакет\п",
ntohs(eptr->ether_type),
ntohs(eptr->ether_type));
}остальное, если (ntohs (eptr->ether_type) == ETHERTYPE_ARP)
{
 функции printf("типа Ethernet наговор:%х декабря:%D-это ARP-пакетов\п",
ntohs(eptr->ether_type),
ntohs(eptr->ether_type));
}еще {
 функции printf("типа Ethernet %х не IP", ntohs(eptr->ether_type));
выход(1);
}

/* скопировать от Стивена УНП */
ПТР = eptr->ether_dhost;
я = ETHER_ADDR_LEN;
функции printf(" адрес назначения: ");
делать{
 функции printf("%х%х",(я == ETHER_ADDR_LEN) ? "" : ":",*для PTR++);
}а (- я>0);
е("\п");

ПТР = eptr->ether_shost;
я = ETHER_ADDR_LEN;
функции printf(" адрес источника: ");
делать{
 функции printf("%х%х",(я == ETHER_ADDR_LEN) ? "" : ":",*для PTR++);
}а (- я>0);
е("\п");

возврат 0;

}

и это возвращает выходные данные, как :-

ДЭВ : обслуживания

и затем он продолжает мигать.

Что может быть проблема здесь?

Я также попытался с указанием Дев, а em1 а вывод был следующим:-

ДЭВ: ЭМ1 не хватаем пакет

Тсрйитр -Д , дает следующий результат :-

тсрйитр -Д 1.обслуживания (в Linux войти с netfilter (обслуживания) интерфейс) 2.nfqueue (очереди netfilter в Линуксе интерфейс (NFQUEUE)) 3.ЭМ1 4.usbmon1 (шины USB номер 1) 5.usbmon2 (шины USB номер 2) 6.usbmon3 (номер шины USB 3) 7.usbmon4 (количество шины USB 4) 8.любой (псевдо-устройство, которое фиксирует на всех интерфейсах) 9.Ло