资源简介
一个端口扫描器,可以设定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
相关资源
- Ubuntu下操作Excel,qt代码
- Qt图片浏览器 --基于Qt的Graphics View f
- qtnribbon2破解
- Qt软件开发 完整项目代码
- MQTT_3.1protocol_Specific中文版
- 在QT中使用RTP进行视频的采集和传输
- Mini6410 Qt4和Qtopia编程开发指南
- Qt实现Code39条形码
- qt_ffmpeg_mp4_export_and_import.zip
- QT5.5入门与项目实战
- windows网络编程__罗莉琴__人民邮电出版
- Huffman Compress 霍夫曼编码 压缩 解压缩
- 基于QT的黑白棋游戏设计和实现
- Qt写的连连看小游戏
- QTranslate_6.7.2.7z
- Qt基于FFmpeg播放本地 H.264H264文件
- QT编的MP3播放器
- linux系统的二级文件系统(QT实现了简
- QT生成DLL库文件的方法和使用方法详解
- QT+opencv+OCR 身份证号码,银行卡号识别
- Qt实现的简单的中国象棋程序
- Qt时钟Demo,在原来基础上添加了秒针
- 基于Qt和opencv的身份证号码识别系统
- 基于FFmpeg4.0.2的AAC编码器
- Qt写的Windows下屏幕录制程序源码
- namp大集合[linux64版和windows64和32版]
- QT旅游攻略软件程序源代码
- 网络编程实用教程
- mp4_play.zip
- ffmpeg+qt的简单播放器
评论
共有 条评论