91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

一個端口掃描器,可以設定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]?<}

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的個數(shù)乘以端口數(shù)
????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


評論

共有 條評論