资源简介
一个端口扫描器,可以设定IP范围和端口范围,具体描述见本人博客~~~

代码片段和文件信息
#include “csanner.h“
#include “ui_csanner.h“
Csanner::Csanner(QWidget *parent) :
QDialog(parent)
ui(new Ui::Csanner)
{
ui->setupUi(this);
//一些初始化
ui->endPortSpinBox->setMaximum(10000);//spinbox可以设置到500,不然只能到99
startIp = “127.0.0.1“;
endIp = “127.0.0.2“;
endPort=1000;
ui->starIPLineEdit->setText(startIp);
ui->endIPLineEdit->setText(endIp);
ui->endPortSpinBox->setValue(endPort);
}
Csanner::~Csanner()
{
delete ui;
}
int Csanner::Ip2Num(QString ip)
{
bool ok;
int lp[4];
QStringList iplist=ip.split(‘.‘);
for (int i=0;i lp[i]=iplist[i].toInt(&ok10);
return lp[0] << 24 | lp[1] << 16 | lp[2] << 8 | lp[3];
}
QString Csanner::Num2Ip(int num)
{
int ip[4];
ip[3] = (num & 0xff);
ip[2] = (num & 0xff00) >> 8;
ip[1] = (num & 0xff0000) >> 16;
ip[0] = (num & 0xff000000) >> 24;
QString tempIp=QString(“%1“).arg(ip[0])+QString(“.“)+QString(“%1“).arg(ip[1])+QString(“.“)+QString(“%1“).arg(ip[2])+QString(“.“)+QString(“%1“).arg(ip[3]);
return tempIp;
}
void Csanner::on_beginBtn_clicked()
{
startIp = ui->starIPLineEdit->text();//从控件中获取值
endIp = ui->endIPLineEdit->text();
startPort = ui->startPorSpinBox->value();
endPort = ui->endPortSpinBox->value();
ui->portResultTextBrowser->clear();//清除文本
QTcpSocket socket;
int sipIntendipInt;
sipInt = Ip2Num(startIp);
endipInt = Ip2Num(endIp);
//进度条设置
int progressCountIp=1;
ui->scannerProgressBar->setRange(0(endipInt-sipInt+1)*(endPort-startPort));//最大范围为ip的个数乘以端口数
for(int tempipInt = sipInt ; tempipInt <= endipInt ; tempipInt++progressCountIp++)
{
QString IpString = “Now ip is :“ +Num2Ip(tempipInt);
ui->portResultTextBrowser->append(IpString);//输出当前遍历的Ip地址。
for(int i=startPort;i<=endPort;i++)
{
socket.abort();
socket.connectToHost(startIpi);
ui->scannerProgressBar->setValue(progressCountIp*i);//进度条设置
if(socket.waitForConnected(10))
{
//text.lock(); //这里好像要用到线程管理才行
QString msg = QString::number(i) +“connected“;//输出那个端口开着
ui->portResultTextBrowser->append(msg);
// text.unlock();
//ui->portResultTextBrowser->setText(msg);
// qDebug()< }
}
}
}
void Csanner::on_endBtn_clicked()
{
close();
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2727 2018-05-04 20:38 portsacnner\csanner.cpp
文件 649 2018-05-04 20:02 portsacnner\csanner.h
文件 647 2018-05-04 21:02 portsacnner\csanner.h.autosave
文件 5519 2018-05-04 20:38 portsacnner\csanner.ui
文件 606 2018-05-04 16:44 portsacnner\main.cpp
文件 1029 2018-05-04 15:18 portsacnner\portsacnner.pro
文件 23929 2018-05-04 17:07 portsacnner\portsacnner.pro.user
目录 0 2018-05-04 21:02 portsacnner
----------- --------- ---------- ----- ----
35106 8
相关资源
- 酒店管理系统基于Qt Creator5)
- Windows异步套接字网络编程
- vtk QT做的三维地质可视化系统2of2
- 端口扫描课程设计详细的报告
- Qt局域网聊天软件
- Qt Creator opengl实现四元数鼠标控制轨迹
- QT局域网聊天系统(基于QT5.修改过)
- qt-电子点菜系统
- C 餐厅叫号系统(QT平)
- QT 实现文件下载
- qt图像处理
- MFC网络编程实例
- IpHlpApi.h&IpHlpApi.lib
- QT,JPEG解码源代码(已完成)
- SOCKET 网络编程 计算机网络 作业 客户
- Qt 播放音频文件
- Qt 读取16进制的data文件
- VC 截获网络数据包.rar
- MQTT+串口(usart)透传
- 易语言QQTEA算法源码
- VC工程转Qt工程文件的工具
- MQTT推送Demo
- 基于Linux、QT的视频监控系统的设计与
- Qt 百度地图 定位
- QT酷炫界面开发指南《QmlBook》
- Ubuntu下操作Excel,qt代码
- Qt图片浏览器 --基于Qt的Graphics View f
- qtnribbon2破解
- Qt软件开发 完整项目代码
- MQTT_3.1protocol_Specific中文版
评论
共有 条评论