SCANNER DE PORT EN C

Messages postés
409
Date d'inscription
mardi 1 mai 2001
Statut
Membre
Dernière intervention
15 août 2011
- - Dernière réponse : deck_bsd
Messages postés
1244
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
- 18 janv. 2007 à 15:13
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/25986-scanner-de-port-en-c

Afficher la suite 
deck_bsd
Messages postés
1244
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
1 -
Yop,

sock = socket(AF_INET, SOCK_STREAM, 0);
sin.sin_addr.s_addr = inet_addr(ip);
sin.sin_family = AF_INET;

peut être mis hors de la boucle pour optimiser ton code.
wizard512
Messages postés
470
Date d'inscription
dimanche 9 janvier 2005
Statut
Membre
Dernière intervention
11 mai 2013
-
Bonne source,
simple et utile, trés utile,
et en plus avec dev c++
Merci....

Note : 9/10
enhr
Messages postés
3
Date d'inscription
dimanche 6 février 2005
Statut
Membre
Dernière intervention
4 décembre 2005
-
j'ai moi aussi des problème de compilation
les messages d'erreurs
undefined reference to `WSAStartup@8'
undefined reference to `socket@12'

undefined reference to `inet_addr@4'
undefined reference to `htons@4'
undefined reference to `connect@12'
undefined reference to `closesocket@4'
undefined reference to `WSACleanup@0'
collect2: ld returned 1 exit status
j'ai vraiment besion d'aide comment configurer mon compilateur?
excrt
Messages postés
75
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
3 juillet 2006
-
//...
char *ip = "127.0.0.1";//ip de la machine a scnanner (dans ce cas-ci localhost)
WORD o 0; // WORD> unsigned short
WORD f = 0;
WORD x;
WORD port;
WORD port_max = 30;
WORD port_initial = 20;
//port_initial = 20; //premier port a scanner
//port_max = 30; //dernier port a scanner
x = (port_max - port_initial);
//...

pour obtenir un max de portabilité d'un compilateur/lieur(linker) à un autre, éviter les extensions dans le noms des librairies
« #pragma comment(lib, "ws2_32.lib") » devient ceci « #pragma comment(lib, "ws2_32") »
sous Dev-C++/CodeBlocks c'est « libws2_32.a » et sous MSVC c'est « ws2_32.lib », seul le nom(sans extension) de la librairie suffit dans le « #pragma ... »

si par malheur le pragma ne fonctionne pas alors il faut ajouter la librairie dans les options de compilation(pour le lieur/linker)
cs_YURIX
Messages postés
18
Date d'inscription
samedi 21 août 2004
Statut
Membre
Dernière intervention
12 décembre 2009
-
J'ai un problème lorsque j'essaie de compiler le code avec Dev-C++ 4

Le log du compilateur me donne:

Compilateur: Default compiler
Exécution de g++.exe...
g++.exe "C:\Documents and Settings\YuRi\Bureau\Scanner.cpp" -o "C:\Documents and Settings\YuRi\Bureau\Scanner.exe" -fno-access-control -fmessage-length=0 -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib" -fmessage-length=0

In function `int main(int, char**)':
warning: passing `float' for converting 1 of `u_short htons(u_short)'

undefined reference to `WSAStartup@8'
undefined reference to `socket@12'

undefined reference to `inet_addr@4'
undefined reference to `htons@4'
undefined reference to `connect@12'
undefined reference to `closesocket@4'
undefined reference to `WSACleanup@0'
collect2: ld returned 1 exit status

Exécution terminée

A chaque fois que j'essaie de faire un fichier cpp avec le code pour les winsocks j'ai cette erreur. Quelqu'un aurait-il une solution a mon problème ?