The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
анализатор трафика, !*! alt7, 28-Авг-04, 18:50  [смотреть все]
собрал программу анализатор сетевого трафика с этого сайта
немного доработал,вывел на экран содержимое пакетов.
ip , tcp все есть
а заголовка eth нет вообще.
подскажите как просмотреть mac адреса?
ос alt linux 2.2
  • анализатор трафика, !*! Maxim Kuznetsov, 22:35 , 28-Авг-04 (1)
    >собрал программу анализатор сетевого трафика с этого сайта
    >немного доработал,вывел на экран содержимое пакетов.
    >ip , tcp все есть
    >а заголовка eth нет вообще.
    >подскажите как просмотреть mac адреса?
    >ос alt linux 2.2

    какой точно анализатор ? их тут чуть меньше, чем пользователей...

    • анализатор трафика, !*! alt7, 11:46 , 29-Авг-04 (2)
      >>собрал программу анализатор сетевого трафика с этого сайта
      >>немного доработал,вывел на экран содержимое пакетов.
      >>ip , tcp все есть
      >>а заголовка eth нет вообще.
      >>подскажите как просмотреть mac адреса?
      >>ос alt linux 2.2
      >
      >какой точно анализатор ? их тут чуть меньше, чем пользователей...

      вот ссылка https://www.opennet.ru/base/dev/traffic_analyze.txt.html
      мне кажется что где то стоит запрет на передачу eth заголовка.
      пробывал ф-ю read тоже самое.
      help.

      • анализатор трафика, !*! Maxim Kuznetsov, 15:08 , 29-Авг-04 (3)
        >>>собрал программу анализатор сетевого трафика с этого сайта
        >>>немного доработал,вывел на экран содержимое пакетов.
        >>>ip , tcp все есть
        >>>а заголовка eth нет вообще.
        >>>подскажите как просмотреть mac адреса?
        >>>ос alt linux 2.2
        >>
        >>какой точно анализатор ? их тут чуть меньше, чем пользователей...
        >
        >вот ссылка https://www.opennet.ru/base/dev/traffic_analyze.txt.html
        >мне кажется что где то стоит запрет на передачу eth заголовка.
        >пробывал ф-ю read тоже самое.
        >help.
        При использовании пакетных сокетов,помнится, надо еще и level задавать ;-)
        то есть по умолчанию link-layer заголовки не передаются пользователю, что в статье не указанно (кстати в ман`ах это есть точно)
        Вообще приведенная статья - сугубо учебная, приведенна для ознакомления с проблемой и возбуждения интереса так сказать ;-)
        Для "боевого" применения все-же лучше использовать библиотеку pcap (о чем прямо в первой строке и сказанно) + в приведенной программе есть некоторые недочеты (то что сразу в глаза бросается):
        1) по ethernet ходит не только ip
        2) для вычисления смещения TCP надо опираться на поле размера заголовка IP, а не на размер структуры

        • анализатор трафика, !*! Bob, 23:40 , 29-Авг-04 (4)
          >При использовании пакетных сокетов,помнится, надо еще и level задавать ;-)
          >то есть по умолчанию link-layer заголовки не передаются пользователю, что в статье
          >не указанно (кстати в ман`ах это есть точно)

          А можно уточнить - что такое level и link-layer?

          >Вообще приведенная статья - сугубо учебная, приведенна для ознакомления с проблемой и
          >возбуждения интереса так сказать ;-)

          Всё правильно.

          >Для "боевого" применения все-же лучше использовать библиотеку pcap (о чем прямо в
          >первой строке и сказанно) + в приведенной программе есть некоторые недочеты
          >(то что сразу в глаза бросается):
          >1) по ethernet ходит не только ip

          Согласен.

          >2) для вычисления смещения TCP надо опираться на поле размера заголовка IP,
          >а не на размер структуры

          Так на размер загловка и опираемся:

          memcpy((void *)&tcp, buff + ETH_HLEN + ip.ihl * 4, sizeof(struct tcphdr));

          ip.ihl * 4 - это и будет размер IP-заголовка, и в сумме с ETH_HLEN - смешение к TCP заголовку.

          Или Вы о другом?

  • анализатор трафика, !*! Bob, 23:45 , 29-Авг-04 (5)
    >собрал программу анализатор сетевого трафика с этого сайта
    >немного доработал,вывел на экран содержимое пакетов.
    >ip , tcp все есть
    >а заголовка eth нет вообще.
    >подскажите как просмотреть mac адреса?
    >ос alt linux 2.2

    А что именно Вы доработали?
    Программа прекрасно оображает и MAC-заголовок.
    Если хотите, я Вам исходники вышлю, Вы сможете сравнить со своими.

    Ещё небольшое замечание.
    Ethernet-заголовок прогамма выкинет, если тип пакетного сокета будет задан как SOCK_DGRAM. Если же тип == SOCK_RAW, то пакет целиком, со всеми заголовками, попадет на обработку. Об этом в статье сказано, см. п.3.

    • анализатор трафика, !*! alt7, 00:25 , 30-Авг-04 (6)
      >>собрал программу анализатор сетевого трафика с этого сайта
      >>немного доработал,вывел на экран содержимое пакетов.
      >>ip , tcp все есть
      >>а заголовка eth нет вообще.
      >>подскажите как просмотреть mac адреса?
      >>ос alt linux 2.2
      >
      >А что именно Вы доработали?
      >Программа прекрасно оображает и MAC-заголовок.
      >Если хотите, я Вам исходники вышлю, Вы сможете сравнить со своими.
      >
      >Ещё небольшое замечание.
      >Ethernet-заголовок прогамма выкинет, если тип пакетного сокета будет задан как SOCK_DGRAM. Если
      >же тип == SOCK_RAW, то пакет целиком, со всеми заголовками, попадет
      >на обработку. Об этом в статье сказано, см. п.3.

      вот установил libpcap.
      mac адресов так и не увидел,
      подскажите где копать.
      может у меня ядро криво настроено?
      исходник шлите сравню обязательно anogin@bk.ru
      //gcc cap.c -o cap /usr/lib/libpcap.a

      #include <pcap.h>
      #include <stdio.h>

      int main(int argc, char **argv)
      {
      int i;
      pcap_t *handle; /* Session handle */
      char errbuf[PCAP_ERRBUF_SIZE]; /* Error string */
      struct pcap_pkthdr header; /* The header that pcap gives us */
      const u_char *packet;/* The actual packet */

        if (argc < 2)
      {fprintf(stderr, "Usage: %s <interface>\n", argv[0]);    return -1;}
      if ( (handle = pcap_open_live(argv[1], BUFSIZ, 1, 500, errbuf)) == NULL)
      printf("pcap_open_live: %s", errbuf);
      for(;;)
      {
      printf("\n---------------------------\n");
      while ( (packet = (char *) pcap_next(handle,&header)) == NULL);

        for( i=0; i< header.len; i++) {
                      printf("x ", (int)*(packet+i));
                      if (!((i+1))) printf("\n");
              };
      printf("\nPacked length  [%d]\n", header.len);
      }
      pcap_close(handle);
      return(0);
      }




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру