Как я сцепляю стек TCP в Windows, чтобы осуществить сниффинг и изменить пакеты?

Второй firstname перезаписывает первый. Поэтому, как только вы объявите или назначите переменную, вы не получите ее вообще, так как она перезаписана. Вы можете попробовать это в своих инструментах разработчика и увидеть, что для этого ключа есть только одна пара ключ / значение. Смотрите также мой скриншот, демонстрирующий:

enter image description here

Если вы получаете свой объект за строкой из другого места, есть возможность отфильтровать эти дубликаты или создать массив вместо дубликатов. Но я думаю, что это был не оригинальный вопрос. Это не строго запрещено, но я предполагаю, что даже если это то, что вы хотите, это даже не JSON. Почему вы хотите достичь этого или откуда это взялось?

10
задан Eyal 29 March 2009 в 18:05
поделиться

7 ответов

Я на самом деле сделал это несколько лет назад. Я являюсь туманным в деталях в этой точке, но я должен был разработать filter/pass-thru/intermediate драйвер с помощью Windows DDK. Я получил большую хорошую информацию от pcausa. Вот URL, который указывает на их продукт, который делает это: http://www.pcausa.com/pcasim/Default.htm

0
ответ дан 4 December 2019 в 00:27
поделиться

Я вполне уверен, необходимо было бы записать драйвер фильтра. http://en.wikipedia.org/wiki/Filter_driver я не знаю намного больше, чем это :). Это определенно было бы приложение Win32 C/C++, и Вы будете, вероятно, будучи делающими некоторую работу стороны ядра. Запустите путем загрузки DDK и нахождения некоторых демонстрационных драйверов фильтра.

Если Вы просто хотите контролировать то, что входит и из IIS, рассмотрите фильтр ISAPI. Все еще C/C++ в Win32, но относительно легче, чем запись драйвера устройства.

1
ответ дан 4 December 2019 в 00:27
поделиться

это:

TdiFw является простым Основанным на TDI Персональным Брандмауэром С открытым исходным кодом для Windows NT4/2000/XP/2003

http://tdifw.sourceforge.net/

может помочь Вам

0
ответ дан 4 December 2019 в 00:27
поделиться

Там, сделанный это :-) Назад в 2000 моя первая Windows-программа когда-либо была драйвером рычага фильтра.

То, что я сделал, реализовывало драйвер рычага фильтра и писало приложение пространства пользователя, которое подготовило таблицу фильтра на том, что позволить и что запретить. Когда Вы обходите свой начальный набор "синих" экранов (см. ниже для моей подсказки по отладке в привилегированном режиме), драйвер режима фильтра довольно прост в использовании..., это дает каждый пакет функции, которую Вы записали, и в зависимости от кода возврата отбрасывает его или позволяет ему передать.

Пакеты Unfortunatley на том уровне являются ВПОЛНЕ сырыми данными, фрагменты не повторно собраны, и это больше походит на конец "сетевой платы" вещей (но никакие заголовки Ethernet больше). Таким образом, у Вас будет вполне плохое время, декодируя пакеты для фильтрации с тем решением.

Также существует драйвер рычага брандмауэра, как обсуждено в этой codeproject статье.

Если Вы находитесь на Vista или Сервере 2008, необходимо взглянуть на мировую продовольственную программу (Windows Filtering Platform) вместо этого, который, кажется, переданный под мандат API дня для записи брандмауэров. Я не знаю об этом кроме Google Тьюринга это несколько минут назад, когда я погуглил для драйвера рычага фильтра.

Обновление: Забыл подсказку по отладке:

Sysinternals DbgView показывает привилегированному режиму вывод DbgPrint, и более важный - он может также считать их из файла дампа Ваш последний произведенный "синий" экран. Так опрысните свой код dbgprint и если это, bluescreens просто загружают дамп в dbgview для наблюдения то, что произошло, прежде чем он умер... ОЧЕНЬ полезный. Используя это я справился, не имея отладчика ядра.

10
ответ дан 4 December 2019 в 00:27
поделиться

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

Если Вы хотите знать приложения, необходимо записать драйвер фильтра TDI, но это делает обработку получения почти невозможного, так как Вы не можете заблокироваться на тракте приема.

Если Вы довольны IP:port, входите на уровне NDIS, и я полагаю, что можно заблокироваться на, получают к содержанию основ.

Слово предупреждения; если у Вас не будет предшествующего опыта ядра, пишущий любой из этих драйверов (хотя TDI значительно более тверд), займет приблизительно два года, полный рабочий день.

0
ответ дан 4 December 2019 в 00:27
поделиться

Код C#, чтобы сделать это здесь

1
ответ дан 4 December 2019 в 00:27
поделиться

Если Вы делаете это по практическим причинам, и не только для забавы, то необходимо смотреть на Microsoft Network Monitor. Домашняя страница говорит о бете версии 3.3, но можно загрузить версию 3.2 со страницы Downloads. Существует также SDK для NM и способность записать синтаксические анализаторы для Ваших собственных сетевых протоколов.

0
ответ дан 4 December 2019 в 00:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: