Локальный TCP/IP и перехват пакетов
От: Аноним  
Дата: 10.01.06 19:25
Оценка:
Коллеги,

Есть задача написать сетевое приложение. Для проверки сетевого обмена собираюсь использовать Ethereal, а он опирается на Winpcap. Часть работы придется делать на домашнем компьютере, где сети нет. Как я уже слышал (и проверил), Winpcap не перехватывает localhost-траффик. Посему для работы на локальной машине, видимо, придется ставить еще одну сетевую PCI-карту (первая встроена в мать, гигабитная), выдать им разные IP и соединить крос-овером. Потом подумалось: а как сработает в этом случае Windows-стек TCP/IP? Опустит ли он пакет до NDIS-уровня? Т.е. выплюнется ли этот пакет в кабель, или просто будет переложен во входной поток второй сетевой на программном уровне? Т.е. смогу ли я слушать этот траффик через Etherial или зря потрачу деньги на вторую сетевую?
Re: Локальный TCP/IP и перехват пакетов
От: ilsd  
Дата: 11.01.06 06:25
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Коллеги,


А>Есть задача написать сетевое приложение. Для проверки сетевого обмена собираюсь использовать Ethereal, а он опирается на Winpcap. Часть работы придется делать на домашнем компьютере, где сети нет. Как я уже слышал (и проверил), Winpcap не перехватывает localhost-траффик. Посему для работы на локальной машине, видимо, придется ставить еще одну сетевую PCI-карту (первая встроена в мать, гигабитная), выдать им разные IP и соединить крос-овером. Потом подумалось: а как сработает в этом случае Windows-стек TCP/IP? Опустит ли он пакет до NDIS-уровня? Т.е. выплюнется ли этот пакет в кабель, или просто будет переложен во входной поток второй сетевой на программном уровне? Т.е. смогу ли я слушать этот траффик через Etherial или зря потрачу деньги на вторую сетевую?



А как Вам вариант с виртуальной машиной. И сеткой между виртуальной машиной и реальной.

Best...
Re: Локальный TCP/IP и перехват пакетов
От: Аноним  
Дата: 11.01.06 09:04
Оценка:
Пакеты до NDIS не дойдут, так как все адреса локальные.

Вот как вариант для перехвата локального траффика

http://www.ntkernel.com/w&p.php?id=24

Можно использовать сеть с винртуальной машиной(VMWARE) или сделать свой эмулятор сети.
Re: Локальный TCP/IP и перехват пакетов
От: Eudjinn Россия http://eudjinn.livejournal.com
Дата: 11.01.06 16:34
Оценка:
А>Коллеги,

А>Есть задача написать сетевое приложение. Для проверки сетевого обмена собираюсь использовать Ethereal, а он опирается на Winpcap. Часть работы придется делать на домашнем компьютере, где сети нет. Как я уже слышал (и проверил), Winpcap не перехватывает localhost-траффик. Посему для работы на локальной машине, видимо, придется ставить еще одну сетевую PCI-карту (первая встроена в мать, гигабитная), выдать им разные IP и соединить крос-овером. Потом подумалось: а как сработает в этом случае Windows-стек TCP/IP? Опустит ли он пакет до NDIS-уровня? Т.е. выплюнется ли этот пакет в кабель, или просто будет переложен во входной поток второй сетевой на программном уровне? Т.е. смогу ли я слушать этот траффик через Etherial или зря потрачу деньги на вторую сетевую?


У меня есть непроверенное предположение, что сетевой уровень стека TCP/IP при просмотре таблицы маршрутизации поймет что направить трафик надо на локалхост и просто завернет его на том же уровне. То есть до NDIS дело не дойдет. Потому что для собственного IP-адреса в таблице обычно есть следующая запись (в Виндах так):

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

Сетевой адрес_________Маска сети________Адрес шлюза_______Интерфейс___Метрика
192.168.2.10________255.255.255.255________127.0.0.1__________127.0.0.1______1

Здесь 192.168.2.10 — это айпишник, назначенный собственной сетевухе.

Но как я сказал выше, на практике не проверено, лишь теоретическое предположение.
Re[2]: Локальный TCP/IP и перехват пакетов
От: Аноним  
Дата: 16.01.06 17:49
Оценка:
Здравствуйте, Eudjinn, Вы писали:

E>У меня есть непроверенное предположение, что сетевой уровень стека TCP/IP при просмотре таблицы маршрутизации поймет что направить трафик надо на локалхост и просто завернет его на том же уровне. То есть до NDIS дело не дойдет. Потому что для собственного IP-адреса в таблице обычно есть следующая запись (в Виндах так):


E>Прошу прощения за подчеркивания, не знаю как сделать чтобы количество пробелов между словами сохранялось.


E>Сетевой адрес_________Маска сети________Адрес шлюза_______Интерфейс___Метрика

E>192.168.2.10________255.255.255.255________127.0.0.1__________127.0.0.1______1

E>Здесь 192.168.2.10 — это айпишник, назначенный собственной сетевухе.


E>Но как я сказал выше, на практике не проверено, лишь теоретическое предположение.


Возможно, в реальности оно устроено чуть сложнее, но фак остается фактом — попробовал: локальный трафик между двумя сетевыми картами не выплевывается в кабель. Соответственно, Ethereal его не видит. Надо разные компы. Виртуалка тут тоже не спасет. Поищу в закромах, где-то была старая мамка на селик 433.
Re[3]: Локальный TCP/IP и перехват пакетов
От: Аноним  
Дата: 16.01.06 19:07
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Ethereal его не видит. Надо разные компы. Виртуалка тут тоже не спасет.


С VmWare работает на ура. Так что виртуалка спасает.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.