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
Forum Updated to NodeBB v4.3 + New Features

Can we do IP scanning using QT

Scheduled Pinned Locked Moved Unsolved General and Desktop
30 Posts 6 Posters 6.1k 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.
  • ManiRonM Offline
    ManiRonM Offline
    ManiRon
    wrote on last edited by
    #1

    I want to perform an IP scanning using QT application and connect with my server , whether this can be done using QT

    1 Reply Last reply
    0
    • dheerendraD Offline
      dheerendraD Offline
      dheerendra
      Qt Champions 2022
      wrote on last edited by
      #2

      Nothing specific feature called IP Scanning in Qt. You can use any standard methodology to scan the IPs.

      Dheerendra
      @Community Service
      Certified Qt Specialist
      http://www.pthinks.com

      ManiRonM 1 Reply Last reply
      3
      • dheerendraD dheerendra

        Nothing specific feature called IP Scanning in Qt. You can use any standard methodology to scan the IPs.

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

        @dheerendra any suggestions or any sample will be available ?

        jsulmJ 1 Reply Last reply
        0
        • ManiRonM ManiRon

          @dheerendra any suggestions or any sample will be available ?

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

          @ManiRon Can you explain what you want to do? Do you want something like service discovery? Do you want to search for your server without knowing its IP? You could use UDP broadcast (you can do this with Qt), see http://www.cs.ubbcluj.ro/~dadi/compnet/labs/lab3/udp-broadcast.html for some explanation. Your server will need to answer on that broadcast. There are more advanced techniques, see https://en.wikipedia.org/wiki/Service_discovery

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

          ManiRonM 1 Reply Last reply
          2
          • jsulmJ jsulm

            @ManiRon Can you explain what you want to do? Do you want something like service discovery? Do you want to search for your server without knowing its IP? You could use UDP broadcast (you can do this with Qt), see http://www.cs.ubbcluj.ro/~dadi/compnet/labs/lab3/udp-broadcast.html for some explanation. Your server will need to answer on that broadcast. There are more advanced techniques, see https://en.wikipedia.org/wiki/Service_discovery

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

            @jsulm I want to find the server without knowing its ip and connect with it and i want it in TCP

            jsulmJ 1 Reply Last reply
            0
            • ManiRonM ManiRon

              @jsulm I want to find the server without knowing its ip and connect with it and i want it in TCP

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

              @ManiRon Well, you can try to connect to all valid IP addresses in your network (subnet mask defines valid IPs), but that can take time.

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

              ManiRonM 1 Reply Last reply
              0
              • jsulmJ jsulm

                @ManiRon Well, you can try to connect to all valid IP addresses in your network (subnet mask defines valid IPs), but that can take time.

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

                @jsulm Ya i tried it and it takes time , thats why i am looking for an alternative

                jsulmJ 1 Reply Last reply
                0
                • ManiRonM ManiRon

                  @jsulm Ya i tried it and it takes time , thats why i am looking for an alternative

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

                  @ManiRon Alternative is service discovery (or UDP broadcast, after broadcast you can do TCP as usual)...

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

                  ManiRonM 1 Reply Last reply
                  5
                  • jsulmJ jsulm

                    @ManiRon Alternative is service discovery (or UDP broadcast, after broadcast you can do TCP as usual)...

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

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

                    But for UDP broadcast i might have to implement some coding on my server side , which i might not be able to do . whether we can use UDP broadcast without modifying the server side

                    jsulmJ 1 Reply Last reply
                    0
                    • ManiRonM ManiRon

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

                      But for UDP broadcast i might have to implement some coding on my server side , which i might not be able to do . whether we can use UDP broadcast without modifying the server side

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

                      @ManiRon Can't you give your server a DNS name? And then simply connect to that name instead of an IP?

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

                      ManiRonM 1 Reply Last reply
                      1
                      • jsulmJ jsulm

                        @ManiRon Can't you give your server a DNS name? And then simply connect to that name instead of an IP?

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

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

                        jsulmJ 1 Reply Last reply
                        0
                        • K Offline
                          K Offline
                          kuzulis
                          Qt Champions 2020
                          wrote on last edited by kuzulis
                          #12

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

                          ManiRonM 2 Replies Last reply
                          0
                          • 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 ManiRon
                            #13

                            @kuzulis it is a little tough to understand and the flow of the code is also tough to understand, Thats why looking for an alternate way

                            1 Reply Last reply
                            0
                            • 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

                                          • Login

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