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