Oto kod programu w C. Otwiera port 80. Można sobie zmodyfikować po swojemu, żeby np. otwierało więcej portów.
Wersja Windows, ale łatwo można przerobić na Linux.
Kod:
//wersja Windows
//[email protected]
//kompilacja: gcc porty.c -o porty -lwsock32
#include <stdio.h>
#include <winsock.h>
int main (int argc, char *argv[])
{
int port = 80;
WSADATA wsaData; //inicjacja biblioteki ws2_32.dll
if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) {
printf("Nie zainicjowano WINSOCK-a.\n");
exit(1);
}
int gniazdo1;
int roz_adr_zew; //rozmiar adresu zewnetrznego
struct sockaddr_in adres_wlasny, adres_zew;
gniazdo1 = socket(AF_INET,SOCK_STREAM,0);
memset (&adres_wlasny,0,sizeof adres_wlasny);
adres_wlasny.sin_family = AF_INET;
adres_wlasny.sin_port = htons(port);
adres_wlasny.sin_addr.s_addr = inet_addr("127.0.0.1");
bind(gniazdo1,(struct sockaddr *)&adres_wlasny,sizeof(struct sockaddr));
listen (gniazdo1,64);
printf ("Port TCP %d otwarty\n\n",port);
printf ("Nacisnij <CRTL-C> aby zamknac port\n\n");
//nieskonczona petla serwera
for (;;);
closesocket(gniazdo1);
}
pozdrawiam
phaxe