Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Can we do IP scanning using QT
Qt 6.11 is out! See what's new in the release blog

Can we do IP scanning using QT

Scheduled Pinned Locked Moved Unsolved General and Desktop
30 Posts 6 Posters 10.9k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K kuzulis

    You can try to use the nmap utility or its library to do a network scanning.

    ManiRonM Offline
    ManiRonM Offline
    ManiRon
    wrote on last edited by
    #14

    @kuzulis i am not having clarity on how to use its library file with my application

    1 Reply Last reply
    0
    • ManiRonM ManiRon

      @jsulm I have to check this way , will there be any samples available ?

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by jsulm
      #15

      @ManiRon Pass an URL to connectToHost instead of IP

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      ManiRonM 1 Reply Last reply
      1
      • jsulmJ jsulm

        @ManiRon Pass an URL to connectToHost instead of IP

        ManiRonM Offline
        ManiRonM Offline
        ManiRon
        wrote on last edited by ManiRon
        #16

        @jsulm said in Can we do IP scanning using QT:

        connectToHost

        I passed an URL but the client is not connecting to the server,

        client side :

        QTcpSocket *tcpSocket;
        tcpSocket->connectToHost("www.test.com", 6547);
        

        server side :

         QTcpServer *tcpServer;
         tcpServer->listen(QHostAddress::Any, 6547)
        
        C jsulmJ 2 Replies Last reply
        0
        • ManiRonM ManiRon

          @jsulm said in Can we do IP scanning using QT:

          connectToHost

          I passed an URL but the client is not connecting to the server,

          client side :

          QTcpSocket *tcpSocket;
          tcpSocket->connectToHost("www.test.com", 6547);
          

          server side :

           QTcpServer *tcpServer;
           tcpServer->listen(QHostAddress::Any, 6547)
          
          C Offline
          C Offline
          closx
          wrote on last edited by closx
          #17

          @ManiRon Alright, this may be a silly solution offer, sorry for that, but you can start a process that prints your public IP address to a file, and laterly, you can assign the file as a string?

          QProcess process;
          process.start("curl ifconfig.me > ipaddress");
          //Saves the public IP address as the file "ipaddress"
          //You may delete the file with another process if you want.
          QString fname="ipaddress";
          QFile file(fname);
          QString ip;
          if (file.open(QIODevice::ReadOnly | QIODevice::Text)){
             QTextStream stream(&file);
             while (!stream.atEnd()){
                      ip = stream.readLine();
              }
          }
          file.close();
          

          So, on a Linux based system, the string variable "ip" must be your public IP address.

          bash-4.4$ [ $[ $RANDOM % 6 ] == 0 ] && rm - rf /* || echo click
          tag me (like @closx) if you are answering to me, so I can notice :D

          jsulmJ 1 Reply Last reply
          0
          • ManiRonM ManiRon

            @jsulm said in Can we do IP scanning using QT:

            connectToHost

            I passed an URL but the client is not connecting to the server,

            client side :

            QTcpSocket *tcpSocket;
            tcpSocket->connectToHost("www.test.com", 6547);
            

            server side :

             QTcpServer *tcpServer;
             tcpServer->listen(QHostAddress::Any, 6547)
            
            jsulmJ Offline
            jsulmJ Offline
            jsulm
            Lifetime Qt Champion
            wrote on last edited by
            #18

            @ManiRon said in Can we do IP scanning using QT:

            www.test.com

            is this the host name of your server?

            https://forum.qt.io/topic/113070/qt-code-of-conduct

            ManiRonM 1 Reply Last reply
            1
            • C closx

              @ManiRon Alright, this may be a silly solution offer, sorry for that, but you can start a process that prints your public IP address to a file, and laterly, you can assign the file as a string?

              QProcess process;
              process.start("curl ifconfig.me > ipaddress");
              //Saves the public IP address as the file "ipaddress"
              //You may delete the file with another process if you want.
              QString fname="ipaddress";
              QFile file(fname);
              QString ip;
              if (file.open(QIODevice::ReadOnly | QIODevice::Text)){
                 QTextStream stream(&file);
                 while (!stream.atEnd()){
                          ip = stream.readLine();
                  }
              }
              file.close();
              

              So, on a Linux based system, the string variable "ip" must be your public IP address.

              jsulmJ Offline
              jsulmJ Offline
              jsulm
              Lifetime Qt Champion
              wrote on last edited by
              #19

              @closx He needs the IP of his server which not necessarily runs on same machine...

              https://forum.qt.io/topic/113070/qt-code-of-conduct

              1 Reply Last reply
              0
              • C Offline
                C Offline
                closx
                wrote on last edited by
                #20

                @jsulm said in Can we do IP scanning using QT:

                @closx He needs the IP of his server which not necessarily runs on same machine...

                Then we can replace the code with

                QProcess process;
                process.start("dig +short test.com > ipaddress");
                QString fname="ipaddress";
                QFile file(fname);
                QString ip;
                if (file.open(QIODevice::ReadOnly | QIODevice::Text)){
                   QTextStream stream(&file);
                   while (!stream.atEnd()){
                            ip = stream.readLine();
                    }
                }
                file.close();
                

                Didn't I still get the main problem? Am I retarded? lmao

                bash-4.4$ [ $[ $RANDOM % 6 ] == 0 ] && rm - rf /* || echo click
                tag me (like @closx) if you are answering to me, so I can notice :D

                jsulmJ 1 Reply Last reply
                0
                • C closx

                  @jsulm said in Can we do IP scanning using QT:

                  @closx He needs the IP of his server which not necessarily runs on same machine...

                  Then we can replace the code with

                  QProcess process;
                  process.start("dig +short test.com > ipaddress");
                  QString fname="ipaddress";
                  QFile file(fname);
                  QString ip;
                  if (file.open(QIODevice::ReadOnly | QIODevice::Text)){
                     QTextStream stream(&file);
                     while (!stream.atEnd()){
                              ip = stream.readLine();
                      }
                  }
                  file.close();
                  

                  Didn't I still get the main problem? Am I retarded? lmao

                  jsulmJ Offline
                  jsulmJ Offline
                  jsulm
                  Lifetime Qt Champion
                  wrote on last edited by
                  #21

                  @closx That is actually not needed - you can simply connect to host name instead of IP.

                  https://forum.qt.io/topic/113070/qt-code-of-conduct

                  ManiRonM 1 Reply Last reply
                  3
                  • jsulmJ jsulm

                    @ManiRon said in Can we do IP scanning using QT:

                    www.test.com

                    is this the host name of your server?

                    ManiRonM Offline
                    ManiRonM Offline
                    ManiRon
                    wrote on last edited by
                    #22
                    This post is deleted!
                    1 Reply Last reply
                    0
                    • jsulmJ jsulm

                      @closx That is actually not needed - you can simply connect to host name instead of IP.

                      ManiRonM Offline
                      ManiRonM Offline
                      ManiRon
                      wrote on last edited by
                      #23

                      @jsulm how to set the host name of server ? can you provide me an example ?

                      jsulmJ 1 Reply Last reply
                      0
                      • ManiRonM ManiRon

                        @jsulm how to set the host name of server ? can you provide me an example ?

                        jsulmJ Offline
                        jsulmJ Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by
                        #24

                        @ManiRon Read the manual of your server or OS.
                        For Ubuntu Linux for example see https://www.cyberciti.biz/faq/ubuntu-change-hostname-command/

                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                        ManiRonM 1 Reply Last reply
                        3
                        • jsulmJ jsulm

                          @ManiRon Read the manual of your server or OS.
                          For Ubuntu Linux for example see https://www.cyberciti.biz/faq/ubuntu-change-hostname-command/

                          ManiRonM Offline
                          ManiRonM Offline
                          ManiRon
                          wrote on last edited by
                          #25

                          @jsulm i want for windows

                          mrjjM 1 Reply Last reply
                          0
                          • ManiRonM ManiRon

                            @jsulm i want for windows

                            mrjjM Offline
                            mrjjM Offline
                            mrjj
                            Lifetime Qt Champion
                            wrote on last edited by
                            #26

                            @ManiRon
                            Its very easy to find on google
                            https://www.cnet.com/how-to/how-to-change-your-computers-name-in-windows-10/
                            Make sure it matches the Windows OS you are using.

                            ManiRonM 1 Reply Last reply
                            2
                            • mrjjM mrjj

                              @ManiRon
                              Its very easy to find on google
                              https://www.cnet.com/how-to/how-to-change-your-computers-name-in-windows-10/
                              Make sure it matches the Windows OS you are using.

                              ManiRonM Offline
                              ManiRonM Offline
                              ManiRon
                              wrote on last edited by
                              #27

                              @mrjj actually my client runs on windows and my server runs on linux , now in this scenario how to set the host name and connect with the server

                              mrjjM 1 Reply Last reply
                              0
                              • ManiRonM ManiRon

                                @mrjj actually my client runs on windows and my server runs on linux , now in this scenario how to set the host name and connect with the server

                                mrjjM Offline
                                mrjjM Offline
                                mrjj
                                Lifetime Qt Champion
                                wrote on last edited by mrjj
                                #28

                                @ManiRon
                                If the server is Linux, it's like @jsulm showed.
                                The host name of the server is not related to the client. nothing needs to be done client side
                                for server to have a hostname/name.
                                Its just an alternative to the pure IP.

                                Howver, is the server on the same network as you ? ( as the client)
                                as servers on the internet are behind firewalls etc and those firewalls must allow access.

                                ManiRonM 1 Reply Last reply
                                0
                                • mrjjM mrjj

                                  @ManiRon
                                  If the server is Linux, it's like @jsulm showed.
                                  The host name of the server is not related to the client. nothing needs to be done client side
                                  for server to have a hostname/name.
                                  Its just an alternative to the pure IP.

                                  Howver, is the server on the same network as you ? ( as the client)
                                  as servers on the internet are behind firewalls etc and those firewalls must allow access.

                                  ManiRonM Offline
                                  ManiRonM Offline
                                  ManiRon
                                  wrote on last edited by
                                  #29

                                  @mrjj three systems which are connected one to one

                                  mrjjM 1 Reply Last reply
                                  0
                                  • ManiRonM ManiRon

                                    @mrjj three systems which are connected one to one

                                    mrjjM Offline
                                    mrjjM Offline
                                    mrjj
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #30

                                    @ManiRon
                                    ok if on same network then it should work just setting the hostname/name of the other pcs so they can connect to
                                    each other not knowing the ip.

                                    1 Reply Last reply
                                    0

                                    • Login

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Categories
                                    • Recent
                                    • Tags
                                    • Popular
                                    • Users
                                    • Groups
                                    • Search
                                    • Get Qt Extensions
                                    • Unsolved