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~~