Фильтр пакетов

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Lunatic
Обычный пользователь
Обычный пользователь
 
Сообщения: 98
Зарегистрирован: 04.03.2008 (Вт) 17:33

Фильтр пакетов

Сообщение Lunatic » 28.12.2009 (Пн) 10:25

Есть сторонее приложение, которое общается с сервером. Нужно снифать его пакеты, и если они неустраивают условие, заменять их и отправлять дальше.

Как это можно реализовать. Инжектится в процесс? Писать что-то вроде файрволла? Подскажите.

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Re: Фильтр пакетов

Сообщение djalex777 » 28.12.2009 (Пн) 12:34

Можно написать свой сетевой драйвер или приаттачиться к существующему. В последнем направлении можно использовать PCAP. Только учти пакеты ты будешь получать в их наиболее полном состоянии.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Фильтр пакетов

Сообщение Antonariy » 28.12.2009 (Пн) 12:36

А для начала забыть про VB.
Лучший способ понять что-то самому — объяснить это другому.

Lunatic
Обычный пользователь
Обычный пользователь
 
Сообщения: 98
Зарегистрирован: 04.03.2008 (Вт) 17:33

Re: Фильтр пакетов

Сообщение Lunatic » 28.12.2009 (Пн) 13:28

Думаю на VB это тоже как-то можно сделать, только это будет более криво) (Это я не в адресс написания драйвера=))

Ну использовать Пикап для отслеживания пакетов это я думаю можно организовать, но вроде там небыло возможности фризить всё это дело.

Может у кого есть уже готовый драйвер или компонент какой-то, ну хоть что нибудь, что можно заюзать в ВБ)

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Re: Фильтр пакетов

Сообщение djalex777 » 28.12.2009 (Пн) 15:43

Думаю на VB это тоже как-то можно сделать, только это будет более криво

Если ты не про драйвер, то конечно можно и не криво это будет ни капли.

Может быть можно проще... Если в программе (ту, которую нужно проснифить) есть в настройках "использовать прокси", нужно написать прокси (это очень даже несложно) и отправлять программу на localhost. А если и нету, то всё равно можно, чуть подредактировав файлик hosts

Lunatic
Обычный пользователь
Обычный пользователь
 
Сообщения: 98
Зарегистрирован: 04.03.2008 (Вт) 17:33

Re: Фильтр пакетов

Сообщение Lunatic » 30.12.2009 (Ср) 13:20

Прокси не предусмотрен, хостс правил. Не помогло.

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Re: Фильтр пакетов

Сообщение djalex777 » 30.12.2009 (Ср) 13:27

Что значит не помогло? Ты должен выставить сопоставление IP или имени сервера к которому присоединяется программа с 127.0.0.1 или localhost. Дальше слушать порт к которому присоединяется программа. Фильтровать то, что тебе нужно и дальше переправлять данные на реальный сервер.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Фильтр пакетов

Сообщение iGrok » 30.12.2009 (Ср) 13:46

Ну, например, если приложение общается с сервером по IP, то тут никакой хостс не поможет..
label:
cli
jmp label

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Re: Фильтр пакетов

Сообщение Sirik » 30.12.2009 (Ср) 14:52

iGrok писал(а):Ну, например, если приложение общается с сервером по IP, то тут никакой хостс не поможет..

оО. а есть другие способа общения?
Состояний же любви — десять: любовный взгляд, привязанность в мыслях, рождение желания, бессонница, исхудание, отвращение к предметам восприятия, утрата стыда, безумие, потеря сознания и смерть — вот их признаки

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Фильтр пакетов

Сообщение iGrok » 30.12.2009 (Ср) 15:42

Sirik писал(а):
iGrok писал(а):Ну, например, если приложение общается с сервером по IP, то тут никакой хостс не поможет..

оО. а есть другие способа общения?

Ок. Уточню, что имел в виду, если приложение СОЕДИНЯЕТСЯ с сервером по IP, а не по доменному имени...
label:
cli
jmp label

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Re: Фильтр пакетов

Сообщение Sirik » 30.12.2009 (Ср) 15:44

iGrok писал(а):
Sirik писал(а):
iGrok писал(а):Ну, например, если приложение общается с сервером по IP, то тут никакой хостс не поможет..

оО. а есть другие способа общения?

Ок. Уточню, что имел в виду, если приложение СОЕДИНЯЕТСЯ с сервером по IP, а не по доменному имени...


а разница в чем?
Состояний же любви — десять: любовный взгляд, привязанность в мыслях, рождение желания, бессонница, исхудание, отвращение к предметам восприятия, утрата стыда, безумие, потеря сознания и смерть — вот их признаки

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Re: Фильтр пакетов

Сообщение djalex777 » 30.12.2009 (Ср) 15:45

:) А чем отличаются эти способы общения? Я же написал выше что можно в том же hosts написать сопоставление IP локалхосту.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Фильтр пакетов

Сообщение alibek » 30.12.2009 (Ср) 15:46

В том, что в первом случае соединение идет по IP-адресу, а во втором по доменному имени.
Lasciate ogni speranza, voi ch'entrate.

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Re: Фильтр пакетов

Сообщение djalex777 » 30.12.2009 (Ср) 15:47

Не правда. Соединение всегда идет по IP адресу

Lunatic
Обычный пользователь
Обычный пользователь
 
Сообщения: 98
Зарегистрирован: 04.03.2008 (Вт) 17:33

Re: Фильтр пакетов

Сообщение Lunatic » 30.12.2009 (Ср) 15:59

В хостс добавил
Код: Выделить всё
127.0.0.1 sito.relax.ru


А вот Netstat
До редактирование хостс
Имя Локальный адрес Внешний адрес Состояние
TCP Core:2913 bos-d008c-rdr2.blue.aol.com:5190 ESTABLISHED
TCP Core:2931 64.12.30.48:5190 ESTABLISHED
TCP Core:2934 sito.relax.ru:28512 ESTABLISHED
TCP Core:2912 localhost:30606 ESTABLISHED
TCP Core:2930 localhost:30606 ESTABLISHED
TCP Core:30606 localhost:2912 ESTABLISHED
TCP Core:30606 localhost:2930 ESTABLISHED


После редактирование хостс
Имя Локальный адрес Внешний адрес Состояние
TCP Core:2913 bos-d008c-rdr2.blue.aol.com:5190 ESTABLISHED
TCP Core:2931 64.12.30.48:5190 ESTABLISHED
TCP Core:2935 sito.relax.ru:28512 ESTABLISHED
TCP Core:2912 localhost:30606 ESTABLISHED
TCP Core:2930 localhost:30606 ESTABLISHED
TCP Core:30606 localhost:2912 ESTABLISHED
TCP Core:30606 localhost:2930 ESTABLISHED


Как видим отличий не густо

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Re: Фильтр пакетов

Сообщение Sirik » 30.12.2009 (Ср) 16:09

попробуй забить просто relax.ru
Состояний же любви — десять: любовный взгляд, привязанность в мыслях, рождение желания, бессонница, исхудание, отвращение к предметам восприятия, утрата стыда, безумие, потеря сознания и смерть — вот их признаки

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Фильтр пакетов

Сообщение iGrok » 30.12.2009 (Ср) 17:01

djalex777 писал(а):Не правда. Соединение всегда идет по IP адресу

Блин, какие все правильные и придирчивые.. Тебя Хакер что ли укусил?

В первом случае коннект идёт СРАЗУ к ИЗВЕСТНОМУ IP, и хостс тут никак не поможет, ибо имя не резолвится.
А вот втором сначала резолвится доменное имя, получается IP, и если соответствующая запись есть в хостс - то вместо реального IP выдаётся прописанный там. Ну и коннект уже идёт к нему.

Так правильнее, надеюсь?

2Sirik:
Забивать нужно именно sito.relax.ru

2Lunatic:
И что? netstat тебе и будет то же самое показывать. Коннект идёт по имени? По имени. Вот он тебе имя и отображает. А соединяться пытается с локалхостом. Вешай на локалхост прокси на порт 28512 и смотри, что туда приходит.
label:
cli
jmp label


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 11

    TopList