En rå socket er en applikationsprogrammeringsgrænseflade (API), en slags Berkeley-sockets , der giver dig mulighed for at indsamle TCP/IP-pakker ved at kontrollere hver eneste del af headeren og sende ikke-standardpakker til netværket.
Socket skabelse. C-kode
int i32SocketFD = socket ( PF_INET , SOCK_RAW , IPPROTO_RAW );C-kode i Windows OS
wSocket = WSASocket ( AF_INET , SOCK_RAW , IPPROTO_RAW , NULL , 0 , 0 );I hvert enkelt tilfælde er det nødvendigt at kontrollere, om operativsystemet understøtter rå sockets. Den omtrentlige støtte er afspejlet i tabellen:
OS | rå fatningsstøtte |
---|---|
95, 98, 98SE | understøtter ikke rå sockets (begrænset understøttelse af rå sockets til ICMP-protokollen); |
NT4.0 | rå stikkontakter er begrænset til 10 indgående forbindelser pr. 10 minutter (kan være fastgjort i registreringsdatabasen); |
W2K | understøtter fuldt ud rå fatninger; |
XP uden SP | understøtter fuldt ud rå sockets efter firewallstop ("netstop sharedaccess"); |
XP SP1 uden patch MS05-019 | understøtter rå sockets ligesom XP uden SP; |
XP SP1 med patch MS05-019 | blokerer udgående rå TCP-sockets, hvis firewall'en kører |
XP SP2 uden MS05-019 | understøtter fuldt ud indgående rå stikkontakter og delvist udgående; |
XP SP2 med MS05-019 | understøtter fuldt ud indgående rå sockets og nogle udgående; |
Vista | understøtter ikke rå sockets (begrænset understøttelse af rå sockets til ICMP-protokollen); |
Windows 7 | begrænset understøttelse af rå stikkontakter; |
Server 2003 | understøtter fuldt ud rå sockets efter firewallstop ("netstop alg"); |
Server 2008 |
understøtter fuldt ud rå sockets efter firewallstop ("netstop alg"); |
MacOS X | understøtter fuldt ud rå fatninger; |
linux | understøtter fuldt ud rå fatninger; |
xBSD | understøtter fuldt ud rå fatninger; |