- pcap.h
- Missing file pcap/pcap.h #280
- Comments
- jamiesellick93 commented Jan 6, 2017
- gconnell commented Jan 9, 2017
- sudo-suhas commented Aug 3, 2018
- gconnell commented Aug 6, 2018
- sudo-suhas commented Aug 7, 2018
- clholzin commented Oct 12, 2018
- RobinUS2 commented Nov 30, 2018
- KodyKendall commented Sep 23, 2019
- Mariosiburian commented Apr 17, 2020
- Mariosiburian commented Apr 17, 2020
- Mariosiburian commented Apr 17, 2020
- Захват пакетов при помощи библиотеки libpcap
- Основы работы с libpcap
- Работа с устройством
- Захват данных
- Фильтрация трафика
- Получение информации IPv4
- Небольшая программа для захвата пакетов
- Pyrit opencl [AMD]
pcap.h
Здрасьте, хочу кое- что откомпилить, а мне пишет мол pcap.h не найден. Если я отдельно скачаю этот файл, то куда его ставить? в папку с компилируемым или куда- то в другое место?
Поставьте пакет libpcap-dev или названный аналогично и не мучайтесь. Одним pcap.h дело не обойдётся.
Воспользуйтесь своим пакетным менеджером.
у меня на лине нету инета 🙁
Какой дистрибутив используете?
opensuse 11.3 У нас ваще пичаль, провайдер «Корбина», сейчас уже билайн, никаких консультаций по линуксу не дают, интернет настроить нереально, скачал vpnpptp ( http://code.google.com/p/vpnpptp/ ) А в нем имя сетевухи указывается только eth или wlan, с любым другим именем программа не будет работать, а моя сетевуха определяется как br :O
http://linuxforum.ru/viewtopic.php?id=7653
Там есть аж 3 варианта настройки, неужели ни один не работает?
Я где- то неделю трахался со всей этой Ничего не помогает, сначала нормально пошло через vpnpptp, но на следущий день перестало работать
У меня работает. Возможно ваша местная корбина «не торт». Настраивал по их форуму.
Спс. После танцев с бубном всё удалось, теперь можно начать освоение линуксов 🙂 Всем спс, и мб последний вопрос: как настроить переключение раскладки на альт+шифт как в винде? а то контрол и шифт не катит, руки рефлекторно переключают как привыкли
>Спс. После танцев с бубном всё удалось, теперь можно начать освоение линуксов 🙂 Всем спс, и мб последний вопрос: как настроить переключение раскладки на альт+шифт как в винде? а то контрол и шифт не катит, руки рефлекторно переключают как привыкли
Настраивай сразу на caps lock — это действительно удобно.
Источник
Missing file pcap/pcap.h #280
Comments
jamiesellick93 commented Jan 6, 2017
C:\Install\GoReplay\src\github.com\buger\gor\vendor\github.com\google\gopacket\pcap\pcap.go:21:18: fatal error: pcap.h: No such file or directory
Compilation fails on Windows, compiling as a submodule of GoReplay
The text was updated successfully, but these errors were encountered:
gconnell commented Jan 9, 2017
libpcap for Windows needs to be installed/findable to use gopacket/pcap on Windows machines.
sudo-suhas commented Aug 3, 2018
Got this error on ubuntu 18.04:
Should I create a new issue?
gconnell commented Aug 6, 2018
For Ubuntu, you should be able to:
sudo apt-get install libpcap-dev
sudo-suhas commented Aug 7, 2018
Thanks @gconnell, that worked.
clholzin commented Oct 12, 2018
I needed to install these and it worked
libpcap-dev libpcap0.8 libpcap0.8-dev
RobinUS2 commented Nov 30, 2018
Any thoughts for OSX? Trying to cross compile for a windows machine.
KodyKendall commented Sep 23, 2019
@clholzin thank you. Had to install libpcap0.8-dev, which wasn’t included in libpcap-dev.
Mariosiburian commented Apr 17, 2020
root@localhost: /Pyrit# python setup.py build
running build
running build_py
running build_ext
building ‘cpyrit._cpyrit_cpu’ extension
aarch64-linux-gnu-gcc -pthread -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-oBClzS/python2.7-2.7.18 rc1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c cpyrit/_cpyrit_cpu.c -o build/temp.linux-aarch64-2.7/cpyrit/_cpyrit_cpu.o -Wall -fno-strict-aliasing -DVERSION=»0.5.1″
cpyrit/_cpyrit_cpu.c:40:10: fatal error: pcap.h: No such file or directory
40 | #include
Please how to solve this problem..
compilation terminated. Please how to solve this problem.. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub , or unsubscribe .
Mariosiburian commented Apr 17, 2020
I installed it, but there are still no changes.
Try: apt-get install libpcap-dev
…
On Thu, Apr 16, 2020 at 11:37 PM Mariosiburian @.> wrote: @.:/Pyrit# python setup.py build running build running build_py running build_ext building ‘cpyrit._cpyrit_cpu’ extension aarch64-linux-gnu-gcc -pthread -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-oBClzS/python2.7-2.7.18rc1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c cpyrit/_cpyrit_cpu.c -o build/temp.linux-aarch64-2.7/cpyrit/_cpyrit_cpu.o -Wall -fno-strict-aliasing -DVERSION=»0.5.1″ cpyrit/_cpyrit_cpu.c:40:10: fatal error: pcap.h: No such file or directory 40 | #include
compilation terminated. Please how to solve this problem.. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub , or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJH3NWDY7GGSU5H66LFKRLRM7TKPANCNFSM4C3SYGQA .
Mariosiburian commented Apr 17, 2020
|
[+] enabling monitor mode on wlan0. failed
failed
[!] Error: Cannot find any interfaces in Mode:Monitor
Источник
Захват пакетов при помощи библиотеки libpcap
В данной статье проводится обзор основных функций библиотеки libpcap и демонстрируется пример создания программы для захвата пакетов.
Перемещение всех данных в сетях осуществляется в форме пакетов, являющихся единицей данных для сетей. Для понимания того, какие данные находятся в пакете, необходимо понимать иерархию сетевых протоколов в рамках сетевой модели. Если вы не знакомы с сетевой моделью ISO OSI (Open Systems Interconnection — базовая эталонная модель взаимодействия открытых систем), настоятельно рекомендую изучить соответствующую документацию. Неплохим источником информации является статья в Wikipedia .
Термин «пакет» впервые вводится на сетевом уровне. Основные протоколы этого уровня: IP (Internet Protocol — межсетевой протокол), ICMP (Internet Control Message Protocol — протокол межсетевых управляющих сообщений), IGMP (Internet Group Management Protocol — протокол управления группами Интернета) и IPsec (набор протоколов для обеспечения защиты данных, передаваемых по протоколу IP). Протоколы транспортного уровня включают в себя TCP (Transmission Control Protocol — протокол управления передачей), ориентированный на создание постоянного соединения; UDP (User Datagram Protocol — протокол пользовательских дейтаграмм), не требующий постоянного соединения; SCTP (Stream Control Transmission Protocol — протокол передачи с управлением потоком), сочетающий в себе свойства двух приведенных выше протоколов. Прикладной уровень содержит множество часто используемых протоколов, таких как: HTTP, FTP, IMAP, SMTP и множество других.
Под захватом пакетов понимается сбор данных, передаваемых по сети. В любой момент, когда сетевая карта принимает Ethernet-кадр, она проверяет целевой MAC-адрес пакета на соответствие своему. В случае совпадения адресов генерируется запрос прерывания. Это прерывание впоследствии обрабатывается драйвером сетевой карты; он копирует данные из буфера сетевой карты в буфер в адресном пространстве ядра, затем проверяет поле в заголовке пакета, отвечающее за тип и передает пакет обработчику необходимого протокола в зависимости от содержания поля. Данные преодолевают стек обработчиков сетевых уровней и достигают прикладного уровня, на котором обрабатываются с помощью пользовательского приложения.
Когда мы захватываем пакеты, драйвер отправляет копию принятого пакета также фильтру пакетов. Для захвата пакетов мы будем использовать библиотеку с открытым исходным кодом libpcap.
Основы работы с libpcap
Библиотека libpcap является платформонезависимой библиотекой с открытым исходным кодом (версия для Windows носит название winpcap). Известные снифферы tcpdump и Wireshark используют эту библиотеку для работы.
Для разработки нашей программы, нам необходим сетевой интерфейс, на котором будет производиться захват пакетов. Мы можем назначить это устройство самостоятельно или воспользоваться функцией, предоставляемой libpcap: char *pcap_lookupdev(char *errbuf) .
Эта функция возвращает указатель на строку, содержащую название первого сетевого интерфейса, пригодного для захвата пакетов; в случае ошибки возвращается NULL (это справедливо и для других функций libpcap). Аргумент errbuf предназначен для пользовательского буфера, в который будет помещено сообщение об ошибке в случае возникновения — это очень удобно при отладке программ. Размер этого буфера должен быть не меньше PCAP_ERRBUF_SIZE (на данный момент 256) байт.
Работа с устройством
Далее мы открываем выбранное сетевое устройство, используя функцию pcap_t *pcap_open_live(const char *device, int snaplen, int promisc, int to_ms, char *errbuf) . Она возвращает идентификатор устройства, представленный в виде переменной типа pcap_t , которая может использоваться в других функциях libpcap. Первый аргумент — сетевой интерфейс, с которым мы хотим работать, второй — максимальный размер буфера для захвата данных в байтах.
Установка минимального значения второго параметра полезна в том случае, когда необходимо производить захват только заголовков пакетов. Размер Ethernet-кадра равен 1518 байтам. Значения 65535 будет достаточно для захвата любого пакета из любой сети. Аргумент promisc устанавливает, будет ли устройство работать в promiscous-режиме или нет. (В promiscous-режиме сетевая карта будет генерировать прерывания для всех данных, которые она получает, а не только для тех, которые подходят по значению MAC-адреса. Подробнее читайте в Wikipedia ).
Аргумент to_ms сообщает ядру время ожидания в миллисекундах перед копированием информации из пространства ядра в пространство пользователя. Передача значения 0 приведет к тому, что операция чтения данных будет ожидать до тех пор, пока не будет собрано достаточное количество пакетов. Для уменьшения количества операций копирования данных из пространства ядра в пространство пользователя, мы будем устанавливать это значение в зависимости от интенсивности сетевого трафика.
Захват данных
Теперь нам необходимо начать захват пакетов. Давайте используем функцию u_char *pcap_next(pcap_t *p, struct pcap_pkthdr *h) . Здесь *p — это указатель, возвращаемый функцией pcap_open_live() ; следующий аргумент — это указатель на переменную типа struct pcap_pkthdr , в которой возвращается первый принятый пакет.
Функция int pcap_loop(pcap_t *p, int cnt, pcap_handler callback, u_char *user) используется для сборки пакетов и их обработки. Она возвращает количество пакетов, заданное аргументом cnt . Функция обратного вызова используется для обработки принятых пакетов (нам необходимо будет задать эту функцию). Для передачи дополнительной информации в эту функцию мы будем использовать параметр *user , являющийся указателем на переменную типа u_char (нам необходимо будет самостоятельно производить приведение типов в зависимости от необходимого типа данных, передаваемых функции).
Альтернативой функции pcap_loop() является функция pcap_dispatch(pcap_t *p, int cnt, pcap_handler callback, u_char *user) . Единственным отличием является то, что это функция возвращает результат по истечении времени, заданного при вызове pcap_open_live() .
Фильтрация трафика
Первый аргумент аналогичен во всех функциям библиотеки и рассмотрен ранее; второй аргумент представляет собой указатель на составленную версию фильтра. Следующий — это выражение для фильтра. Это выражение может быть названием протокола, таким как ARP, IP, TCP, UDP и.т.д. Вы можете найти множество примеров выражений в руководствах pcap-filter и tcpdump, которые должны быть установлены в вашей системе.
Следующий аргумент устанавливает состояние оптимизации (0 — не оптимизировать, 1 — оптимизировать). Далее идет маска сети, с которой работает фильтр. Функция возвращает -1 в случае ошибки (в том случае, если обнаружена ошибка в выражении).
После составления, давайте применим фильтр при помощи функции int pcap_setfilter(pcap_t *p, struct bpf_program *fp) . Второй аргумент функции — составленная версия выражения для фильтрации трафика.
Получение информации IPv4
При помощи этой функции можно получить сетевой адрес IPv4 и маску сети, присвоенные данному сетевому интерфейсу. Сетевой адрес будет записан по адресу *netp , а маска сети — по адресу *mask .
Небольшая программа для захвата пакетов
На рисунке 1 представлен примерный вывод программы.
Рисунок 1: Вывод программы
Поскольку в качестве выражения фильтрации задана строка ip , ваш экран скоро будет заполнен отметками о приеме IP-пакетов. Можете заменить ip на другое выражение, например, tcp , arp , и.т.д. — посмотрите примеры на странице руководства tcpdump.
Вы можете изменить строку с вызовом функции pcap_loop() в функции main() , где производится вызов функции my_callback() для использования нового варианта функции. Скомпилируйте измененную программу и запустите с тем же выражением в качестве аргумента. Вывод, представленный на рисунке 2, содержит данные из IP-пакетов.
Рисунок 2: Вывод, показывающий содержимое пакетов.
Думаю, на этом мы можем остановиться. Протестируйте программу самостоятельно, поэкспериментируйте с pcap и вы поймете, насколько мощный компонент лежит в основе лучших (и наших любимых) снифферов tcpdump и Wireshark.
Источник
Pyrit opencl [AMD]
Всем привет уже перепробывал кучу мануалов Подскажите плиз как прикрутить к Pyrit видюшку ?
Нельзя хотя бы сказать, какой дистр? Телепаты, видите ли, в отпуске. Да и другие подробности не помешали бы.
По теме: попробую предположить, что дистр Ubuntu или Debian, и сам по себе рантайм для OpenCL не установлен. Тогда почитайте, например, http://wiki.tiker.net/PyOpenCL/Installation/Linux/Ubuntu и http://wiki.tiker.net/PyOpenCL/Installation/Linux/Debian. Там список пакетов, которые надо установить. В случае первой ссылки сам pyopencl собирать не надо, нужен только шаг 0.
да я уже по всякому пробую естественно AMD APP SDK я поставил но не собирается CAL ++ Убунту кста преположил верно только Lubuntu для теста взял )
fatal error: CL/cl.h: Нет такого файла или каталога
Это намекает на то, что при сборке pyrit не найдены заголовочные файлы для OpenCL. Попробуйте установить opencl-headers.
На правах оффтопика: возможно, для использования opencl на железе amd проще использовать Debian. Там AMD APP SDK есть в стандартных репозиториях.
но на стадии setup.py все рушится я хз хотя уже и отлично CAL++ установился )) вот лог что в терминале сохранился https://docs.google.com/document/d/1QoOjxn4vY3UzslxU8LE5T8VHmF2UtEAmrffoEMz9I.
Это на гугл драйве ( там просто большой лог или скажите куда залить его и я кину его ) 🙂
Все я справился 🙂 Всем спасибо всем благодарен 🙂 хотябы просто за потдрежку ) запинка была в том что не был установлен libpcap0.8-dev вот остальной лог
ну и на завершение бенчь 🙂 root@user:/home/user/calpp-code/pyrit_svn/cpyrit_opencl# pyrit benchmark Pyrit 0.4.1-dev (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com This code is distributed under the GNU General Public License v3+
Running benchmark (22350.7 PMKs/s). —
Computed 22350.67 PMKs/s total. #1: ‘OpenCL-Device ‘Capeverde»: 23823.5 PMKs/s (RTT 2.9) #2: ‘CPU-Core (SSE2/AES)’: 303.1 PMKs/s (RTT 3.5) #3: ‘CPU-Core (SSE2/AES)’: 303.6 PMKs/s (RTT 3.6) #4: ‘CPU-Core (SSE2/AES)’: 320.3 PMKs/s (RTT 3.5) root@user:/home/user/calpp-code/pyrit_svn/cpyrit_opencl#
это Core i7 4500U x2 3.0 Radeon 8870M 2GB ram x2 4GB 1600 MHZ ну остальное думаю вообще не важно 🙂
Источник