Un socket brut este o interfață de programare a aplicației (API), un fel de socket-uri Berkeley care vă permite să colectați pachete TCP/IP controlând fiecare bit al antetului și trimițând pachete non-standard în rețea.
Crearea prizei. codul C
int i32SocketFD = socket ( PF_INET , SOCK_RAW , IPPROTO_RAW );Cod C în sistemul de operare Windows
wSocket = WSASocket ( AF_INET , SOCK_RAW , IPPROTO_RAW , NULL , 0 , 0 );În fiecare caz specific, este necesar să verificați dacă sistemul de operare acceptă socketuri brute. Suportul aproximativ este reflectat în tabel:
OS | suport de priză brută |
---|---|
95, 98, 98SE | nu acceptă socket-uri brute (suport limitat pentru socket-uri brute pentru protocolul ICMP); |
NT4.0 | prizele brute sunt limitate la 10 conexiuni de intrare la 10 minute (pot fi fixate în registru); |
W2K | suportă complet prize brute; |
XP fără SP | acceptă complet socket-uri brute după oprirea firewall-ului („net stop sharedaccess”); |
XP SP1 fără patch MS05-019 | suportă socket-uri brute la fel ca XP fără SP; |
XP SP1 cu patch-ul MS05-019 | blochează socket-urile TCP brute de ieșire dacă firewall-ul rulează |
XP SP2 fără MS05-019 | acceptă pe deplin socketurile brute de intrare și parțial de ieșire; |
XP SP2 cu MS05-019 | acceptă pe deplin socketurile brute de intrare și unele de ieșire; |
Vista | nu acceptă socket-uri brute (suport limitat pentru socket-uri brute pentru protocolul ICMP); |
Windows 7 | suport limitat pentru prize brute; |
Server 2003 | suportă pe deplin socket-uri brute după oprirea firewallului („net stop alg”); |
Server 2008 |
suportă pe deplin socket-uri brute după oprirea firewallului („net stop alg”); |
Mac OS X | suportă complet prize brute; |
linux | suportă complet prize brute; |
xBSD | suportă complet prize brute; |