1 / 1 / 0
Регистрация: 15.11.2012
Сообщений: 36
|
|
1 | |
PCAP Linux05.11.2013, 07:22. Показов 1893. Ответов 4
Метки нет (Все метки)
Доброго дня, уважаемые!
Вопрос такого плана. При перехвате пакетов что-то странное в флагами. Компилировалось, запускалась на дебиане (2.6.32-5-686, pcap 1.1.1-2+squeeze1) - работало, были пакетики и с флагами S и F и А - TCP сессия нормально собиралась. Сейчас пересобрано на Oracle Linux (2.6.32-100.34.1.el6uek.x86_64, pcap 1.0.0-6.20091201git117cb5.el6.x86_64) - пакеты только с F покаывает или только с R. Причем, F есть в каждом пакете (скачиваю файл - сыпет кучу пакетов, в каждом установлен F).. в чем грабли?.. Может я чего не знаю?... Благодарю. Добавлено через 15 минут Добавочка - проверил на другом дебиане (3.2.0-4-amd64, рсар 1.3.0-1) - такая же фигня как на оракле.. Т.е. получается - на 64-битных системах такая штука выходит.. а на 32-битной - нормально все.. Что не так делаю?..
0
|
05.11.2013, 07:22 | |
Ответы с готовыми решениями:
4
ООП дизайн и pcap PCap и получение html кода PCAP и связанные с ним ошибки Подготовить пакет для pcap |
1 / 1 / 0
Регистрация: 15.11.2012
Сообщений: 36
|
||||||||||||||||
05.11.2013, 13:22 [ТС] | 3 | |||||||||||||||
ну, нет, не рассчитываю. Хотел дописать вроде "что выложить для уточнения?".. но подумал что лишнее - и так понятно что надо что-то. весть код то длинно будет.. может какой конкретный участок нужно..
Вот момент установки фильтра (но тут вроде все просто. 3 фиксированных адреса и один из к.строки)
вот функция обратного вызова (тоже ничего мудреного. скелет из какого-то примера):
Setting filter: (host 192.168.240.2 or 192.168.253.10 or 193.31.204.242) 88.198.251.1:41372 - 192.168.253.10:80 - ip_len: 15360 ip_hlen: 20 tcp_offset: 0 tcp_len: 40 88.198.251.1 - 192.168.253.10 f:...R.. seq:2886142310 ask:78774133129888 192.168.253.10:80 - 88.198.251.1:41372 - ip_len: 15360 ip_hlen: 20 tcp_offset: 0 tcp_len: 40 192.168.253.10 - 88.198.251.1 f:...R.. seq:12467944429666079195 ask:178707685053088 88.198.251.1:41371 - 192.168.253.10:80 - ip_len: 15360 ip_hlen: 20 tcp_offset: 0 tcp_len: 40 88.198.251.1 - 192.168.253.10 f:...R.. seq:777512579 ask:256422570427040 192.168.253.10:80 - 88.198.251.1:41371 - ip_len: 15360 ip_hlen: 20 tcp_offset: 0 tcp_len: 40 192.168.253.10 - 88.198.251.1 f:...R.. seq:3411448696976447707 ask:120850180608672 88.198.251.1:41372 - 192.168.253.10:80 - ip_len: 13312 ip_hlen: 20 tcp_offset: 0 tcp_len: 32 88.198.251.1 - 192.168.253.10 f:.....F seq:11136999301220600166 ask:43763351163008 88.198.251.1:41371 - 192.168.253.10:80 - ip_len: 13312 ip_hlen: 20 tcp_offset: 0 tcp_len: 32 88.198.251.1 - 192.168.253.10 f:.....F seq:16843489936036849283 ask:267376528461952 88.198.251.1:41371 - 192.168.253.10:80 - ip_len: 59393 ip_hlen: 20 tcp_offset: 0 tcp_len: 468 88.198.251.1 - 192.168.253.10 f:.....F seq:16843489936036849283 ask:182147197442176 192.168.253.10:80 - 88.198.251.1:41371 - ip_len: 13312 ip_hlen: 20 tcp_offset: 0 tcp_len: 32 192.168.253.10 - 88.198.251.1 f:.....F seq:16382097098796964059 ask:25474357006464 и вот такие ....F до конца скачиваемого файла.. на 32хбитной все было красиво.
0
|
1 / 1 / 0
Регистрация: 15.11.2012
Сообщений: 36
|
|
07.11.2013, 10:10 [ТС] | 4 |
Проблема пока не решена, но выяснено следующее:
без установки фильтра pcap работает.. но! на eth0 IP и порты правильно показываются, а на eth1 - че попало лезет.. При этом tcpdump нормально адреса показывает.. ну не может же софтина на eth0 правильно адрес декодировать а на eth1 неправильно... А с фильтрами ни моя софтина, ни tcpdump не работают - пусто.. Еще момент - если tcpdump не указать -n то тоже пустоту выдает.... чето лыжи не едут...
0
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
07.11.2013, 13:23 | 5 |
У меня такое не воспроизводиться, увы. И ваш код (вместо непоказанных sniff_xxx взял netinet/{ip|tcp}.h) вполне работает.
0
|
07.11.2013, 13:23 | |
07.11.2013, 13:23 | |
Помогаю со студенческими работами здесь
5
Как подключить pcap.h и другое из winpcap Как извлечь данные из pcap-файла? где найти статью, как пользоваться pcap Обращение в неправильный участок памяти, используя структуры и pcap.h Установка Qt на Linux для кросс-компиляции: Linux 32/64 Windows 32/64 Компиляция Builder'овского проекта под Linux, (и освоение Linux после Builder'a) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |