Как я могу отправить пакет ARP через python на windows без необходимости winpcap? - PullRequest
3 голосов
/ 28 декабря 2008

Есть ли способ отправить пакет ARP в Windows без использования другой библиотеки, такой как winpcap?

Я слышал, что Windows XP SP2 блокирует необработанные сокеты Ethernet, но я также слышал, что необработанные сокеты блокируются только для администраторов. Любое уточнение здесь?

Ответы [ 2 ]

3 голосов
/ 28 декабря 2008

Нет способа сделать это в общем случае без использования внешней библиотеки.

Если нет никаких требований относительно того, что пакет должен содержать (то есть, если какой-либо пакет ARP будет делать), то вы можете , очевидно, отправлять запрос ARP, если вы находитесь в сети Ethernet, просто пытаясь отправьте что-нибудь на любой IP-адрес в своей собственной подсети (предварительно убедившись, что IP-адрес назначения не находится в кэше ARP, выполнив внешнюю команду arp -d tar.get.ip.address), но это, вероятно, будет не тем, что вы хотите.

Для получения дополнительной информации о поддержке необработанных сокетов см. Страницу необработанных сокетов TCP / IP *1009*, в частности, Ограничения для необработанных сокетов .

0 голосов
/ 02 февраля 2009

Вы можете использовать кран OpenVPN для отправки произвольных пакетов, как если бы вы использовали необработанные сокеты.

...