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

Qt编写端口扫描工具的更多相关文章

  1. 『安全工具』Nmap 强悍的端口扫描工具

    作为时下流行的端口扫描工具,Nmap有因其扫描的隐密性有“端口扫描之王”之称 上图是黑客帝国(The Matrix)中崔妮蒂用Nmap入侵核发电站的能源管理系统 0x 01 Nmap介绍 Nmap是一 ...

  2. Linux shell编写端口扫描脚本

    Linux shell编写端口扫描脚本 需求: 扫描特定主机 扫描特定主机的特定端口 扫描特定网段 扫描特定网段中哪些主机开放了特定的端口 源码如下: #/bin/bash #该脚本用于对特定目标主机 ...

  3. 端口扫描工具nmap

    nmap 使用介绍 nmap是目前为止最广为使用的国外端口扫描工具之一.我们可以从[url]http://www.insecure.org/[/url]进行下载,可以很容易的安装到Windows和un ...

  4. 海量端口扫描工具masscan

    海量端口扫描工具masscan   masscan号称是互联网上最快的端口扫描工具,可以6分钟扫描整个互联网,每秒可以发送一百万个数据包.为了提高处理速度,masscan定制了TCP/IP栈,从而不影 ...

  5. nmap端口扫描工具安装和使用方法

    nmap(Network Mapper)是一款开源免费的针对大型网络的端口扫描工具,nmap可以检测目标主机是否在线.主机端口开放情况.检测主机运行的服务类型及版本信息.检测操作系统与设备类型等信息. ...

  6. nmap 端口扫描工具

    nmap工具介绍 一.简介 nmap :也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包. nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端.确定哪些服务 ...

  7. Nmap——主机、端口扫描工具

    nmap 其基本功能有三个,一是探测一组主机是否在线:其次是扫描主机端口,嗅探所提供的网络服务:还可以推断主机所用的操作系统 . 这是百度给的介绍:http://baike.baidu.com/lin ...

  8. 端口扫描工具nmap的常用参数讲解

    转载请注明出处:https://www.cnblogs.com/wangyanzhong123/p/12576406.html nmap下载与安装 这个没什么好说的.很简单官网上下载就ok了,需要注意 ...

  9. 端口扫描工具 nmap 使用手册

    0x00 主机发现 -sL 仅仅是显示,扫描的IP数目,不会进行任何扫描 -sn ping扫描,即主机发现 -Pn 不检测主机存活 -PS/PA/PU/PY[portlist] TCP SYN Pin ...

随机推荐

  1. GitBook整理

    GitBook整理 ECMAScript 6 -- 中文文档 Apache 2.2 --中文官方文档 Redux --React配套架构 英文 express --Node.js 服务端框架 Hexo ...

  2. Oracle EBS-SQL (INV-1):检查物料成本为0并且物料状态不是'NEW'的物料.sql

    select --msi.inventory_item_id        --,msi.organization_id     msi.segment1                        ...

  3. node.js 入门教程(beginnder guide

    非常好的教程: node入门: JavaScript与Node.js JavaScript与你 简短申明 服务器端JavaScript “Hello World” 一个完整的基于Node.js的web ...

  4. POJ 2976 Dropping tests(二分答案)

    [题目链接]  http://poj.org/problem?id=2976 [题目大意] 给出每门成绩的总分和得分,去除k门成绩之后 使得剩余的成绩分数和除以总分得到的数字最大,要求精度在三位小数之 ...

  5. zip命令

    常用示例: (1)zip -r myfile.zip ./*    ----将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件, -r表示递归压缩子目录下所有文件. (2)unzip - ...

  6. #include <fstream>

    1 fstream 2 ifstream 3 ofstream 4 seekg 5 seekp 6 tellg 7 tellp 1 fstream 打开输入输出文件流 #include <ios ...

  7. hdu 1011 Starship Troopers (树形背包dp)

    本文出自   http://blog.csdn.net/shuangde800 题目链接 : hdu-1011   题意 有n个洞穴编号为1-n,洞穴间有通道,形成了一个n-1条边的树, 洞穴的入口即 ...

  8. [mysqldumpslow 报错] Died at /usr/local/mysql/bin/mysqldumpslow line 161, &lt;&gt; chunk 236.

    mysqldumpslow报错:Died at /usr/local/mysql/bin/mysqldumpslow line 161, <> chunk 236. 总结:是由于top数目 ...

  9. html系列教程--article audio

    <article> 标签 <article> 标签规定独立的自包含内容.一篇文章应有其自身的意义,应该有可能独立于站点的其余部分对其进行分发. <article> ...

  10. viewport移动端的meta

    随着高端手机(Andriod,Iphone,Ipod,WinPhone等)的盛行,移动互联应用开发也越来越受到人们的重视,用html5开发移动应用是最好的选择.然而,每一款手机有不同的分辨率,不同屏幕 ...