Qt编写端口扫描工具

Qt提供了QTcpSocket类,可以方便地建立TCP连接。利用这一功能,Maxiee编写了一个简单地端口扫描工具。

软件的功能就是,扫描某一网段的固定端口,如80端口,若目的地址开放了这一端口,那么连接就能建立。

通过waitForConnected() 方法,我们就能得知是否连接成功,若成功,我们在输出中加以标记。

Maixee利用这个软件,扫了一下校园网里都有哪些网站(PS:学校的导航做的太简单了,好多好网站上了这么多年学都不知道哎%>_<%),效果如下:

程序很简单,界面Maxiee也省去了,代码如下:

#include "widget.h"
#include <QApplication>
#include <QTcpSocket>
#include <QDebug>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    //Widget w;
    //w.show();
    QTcpSocket socket(0);
    QString ip("202.119.47.");
    for(int i=1;i<256;i++)
    {
        qDebug()<<"now"<<i;
        socket.abort();
        QString nIp = ip;
        nIp.append(QString::number(i));
        socket.connectToHost(nIp,80);
        if(socket.waitForConnected(1000))
            qDebug()<<nIp<<"connected!";
    }
    //return a.exec();
    return 0;
}

希望能对学习Qt网络编程的朋友有所帮助哈O(∩_∩)O~~

原文地址:https://www.cnblogs.com/keanuyaoo/p/3290253.html