contra

Port Scanner in C++

May 5th, 2012
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1. ///////////////////////////////////////////////////////
  2. // Simple Portscanner using Winsock in Windows Console
  3. // Free-use-source, nothing really unique about it.
  4. // #hackers on EFnet
  5. ///////////////////////////////////////////////////////
  6. #include <winsock2.h>
  7. #include <iostream>
  8.  
  9. #pragma comment(lib, "Ws2_32.lib")
  10. using namespace std;
  11.  
  12. char IP[20];
  13. int startPort, endPort, err, nret;
  14.  
  15. SOCKET iSocket;
  16. SOCKADDR_IN Info;
  17. WSADATA wsadata;
  18.  
  19. void main()
  20. {
  21.    err = WSAStartup(MAKEWORD(2, 2), &wsadata);
  22.    if(err != 0)
  23.    {
  24.       cout << "Winsock Error, Exiting..." << endl;
  25.       cin.get();
  26.       return;
  27.    }
  28.  
  29.    cout << "Target IP: ";
  30.    cin>>IP;
  31.    cout << "Starting Port: ";
  32.    cin>>startPort;
  33.    cout << "End Port: ";
  34.    cin>>endPort;
  35.  
  36.    cin.ignore();
  37.  
  38.    cout << endl << endl << "Scanning..." << endl << endl;
  39.  
  40.    for(int i=startPort; i < endPort; i++)
  41.    {
  42.       iSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  43.    
  44.       Info.sin_family = AF_INET;
  45.       Info.sin_port = htons(startPort);
  46.       nret = connect(iSocket, NULL, NULL);
  47.       // error is for line above
  48.       if(nret != SOCKET_ERROR)
  49.       {
  50.          cout << "Port " << i << " - OPEN! " << endl;
  51.       }
  52.       //temp++;
  53.       closesocket(iSocket);
  54.     }
  55.     cout << endl << "Finished With Scan..." << endl;
  56.    
  57.     cin.get();
  58.     return;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment