Sweep

xiaoxiao2021-03-06  50

A few days ago, I started learning Socket, one of Yun Shu's strong help, even wrote a single-line single host port scanner, today I want to change the host, (thread is still single, slowly But even as a learning, it doesn't matter), but it will not change it. Please give me a view.

/ * Name: Netxport Copyright: NetxFly Author: Netxfly Date: 12-10-04 Description: a Simple port scanner * / #include #include #include #pragma Comment (lib, "ws2_32.lib") void usage (char *); // Help function void scan (char *); // Common port scan Void Scan1 (char *, char *, char *); // Custom port Scan void scan2 (char *, char * 2); // Multi-host common port scan vid scan3 (char *, char *, char *, char *); // Multi-host custom port scan //// main function / / int main (int Argc, char * argv []) {if (argc == 2) {scan (Argv [1]); // Common port scan} else if (argc == 3) // Multi-host common port Scan {scan2 (Argv [1], Argv [2]);} else if (argc == 4) {scan1 (argv [1], argv [2], argv [3]); // Custom port scan} ELSE IF (Argc == 5) {Scan3 (Argv [1], Argv [2], Argv [3], Argv [4]); // Multi-host custom port scan} else {usage (Argv [0]) }}} /// Help function void usage (char * help) / void usage (char * help) {printf ("======================== ================================== ============ / n "); Printf (" NetxPort Version 1.0 By Netxfly 12-10-2004 / N "); Printf (" Welcome to Visit http://netxfly.126.com/ N "); Printf (" USAGE: / N "); Printf ("% s / T / T / T / T / T common port scan / n ", HELP); Printf ("% s / T / T Custom Ports / N ", Help); Printf ("% s / t / t / t multi host common port scan / N ", HELP); Printf "% s <

Target1> / T multi-host custom port scan / n ", HELP); printf (" ===================== =============================================== / n " );} // common port scan Void scan (char * target) void scan (char * target) {wsadata wsadata; socket netxfly; int i; struct sockaddr_in server; int ports [12] = {21,23,25 53, 80, 110, 135, 139, 445, 1433, 3306, 3389}; IF (WSAStartup (MakeWord (2, 2), & WSADATA)! = 0) {Printf ("Startup Winsock Failed ... / n"); exit (-1); } For (i = 0; i <12; i ) {IF ((NetxFly = socket (AF_INET, SOCK_STREAM, 0) == Invalid_socket) {Printf ("Create Socket Err ... / R / N"); EXIT (-1);} server.sin_family = Af_inet; server.sin_addr.s_addr = inet_addr (target); server.sin_port = HTONS (ports [i]); if (connect (netxfly, (struct sockaddr *) & Server, Sizeof Server))! = Socket_ERROR) {Printf ("Port% D IS Open At Host:% S / R / N", Ports [i], TARG ET); CloseSocket (NetxFly);}}} wsacleanup ();} // Custom port scan vid scan1 (char * target, char * start, char * end) Void scan1 (char * target , char * start, char * end) {wsadata wsadata; socket netxfly; int i; int port1;

INT port2; struct sockaddr_in server; if (WsaStartup (MakeWord (2, 2), & WSADATA)! = 0) {Printf ("Startup Winsock Failed ... / N); exit (-1);} port1 = atoi Start); Port2 = ATOI (End); for (i = port1; i <= port2; i ) {IF ((NetxFly = socket (AF_INET, SOCK_STREAM, 0) == Invalid_Socket) {Printf ("Create Socket Err. ../r/N "); exit (-1);} server.sin_family = AF_INET; Server.sin_addr.s_addr = inet_addr (target); server.sin_port = htons (i); if (connect (Netxfly, (Struct) SockAddr *) & Server, SIZEOF (Server))! = Socket_ERROR) {Printf ("Port% D IS Open At Host:% S / R / N", I, Target; CloseSocket (NetxFly);} else {CloseSocket (NetxFly );}} Wsacleanup ();} //// Multi-host common port scan vid scan2 (char * target1, char * target2) /// void scan2 (char * target1, char * target2) {unsigned long i; unsigned Long Start1; Unsigned Long Start2; Char * Target; start1 = ntohl (inet_addr (target1)); // ascl-> network-> host start2 = ntohl (inet_addr (target2)); // ascll-> network-> Host for (i = start1; i <= start2; i ) {target = inet_ntoa (htonl (i)); // Host-> network-> ASCII // is selected by the host order -> network sequence -> character point format, let SCAN ) Calls scan;

转载请注明原文地址:https://www.9cbs.com/read-81845.html

New Post(0)