- Сырой сокет
-
Сырой сокет — интерфейс программирования приложений (API), разновидность сокетов Беркли, позволяющий собирать TCP/IP-пакеты, контролируя каждый бит заголовка и отправляя в сеть нестандартные пакеты.
Пример
Создание сокета. Код на языке Си
... int i32SocketFD = socket( PF_INET, SOCK_RAW, IPPROTO_RAW ); ...
Код на языке Си в ОС Windows
... wSocket = WSASocket(AF_INET, SOCK_RAW, IPPROTO_RAW, NULL, 0,0); ...
Поддержка
В каждом конкретном случае необходимо проверять, поддерживает ли ОС сырые сокеты. Приблизительно поддержка отражена в таблице:
ОС поддержка сырых сокетов 95, 98, 98SE не поддерживает сырых сокетов (ограниченно поддерживает сырые сокеты для ICMP-протокола); NT 4.0 сырые сокеты ограничены 10 входящими соединениями за 10 минут (лечится правкой реестра); W2K полностью поддерживает сырые сокеты; XP без SP полностью поддерживает сырые сокеты после остановки брандмауэра ("net stop sharedaccess"); XP SP1 без заплатки MS05-019 поддерживает сырые сокеты так же, как и XP без SP; XP SP1 с заплаткой MS05-019 блокирует исходящие сырые TCP-сокеты, если брандмауэр запущен XP SP2 без MS05-019 полностью поддерживает входящие сырые сокеты и частично исходящие; XP SP2 с MS05-019 полностью поддерживает входящие сырые сокеты и некоторые исходящие; Виста не поддерживает сырых сокетов (ограниченно поддерживает сырые сокеты для ICMP-протокола); Win 7 ограниченно поддерживает сырые сокеты; Server 2003 полностью поддерживает сырые сокеты после остановки брандмауэра ("net stop alg"); Server 20082 полностью поддерживает сырые сокеты после остановки брандмауэра ("net stop alg");
Mac OS X полностью поддерживает сырые сокеты; Linux полностью поддерживает сырые сокеты; xBSD полностью поддерживает сырые сокеты; Ссылки
Категории:- API
- Межпроцессное взаимодействие
Wikimedia Foundation. 2010.