Merge branch 'test' into 'master'
已完成基本功能 See merge request kevin/tcp_ip_scan!1
This commit is contained in:
+192
-170
@@ -26,223 +26,245 @@ quint32 ipv4str_to_int(const QString& ipstr)
|
||||
}
|
||||
}
|
||||
|
||||
void trytry::run()
|
||||
|
||||
|
||||
trytry::trytry()
|
||||
{
|
||||
|
||||
if (ipint != 0 && ipstr != "")
|
||||
{
|
||||
//qDebug()<<ipstr<<":"<<ipint;
|
||||
QTcpSocket m_socket;
|
||||
m_socket.connectToHost(ipstr, ipint, QTcpSocket::ReadWrite);
|
||||
if (m_socket.waitForConnected(timeout))
|
||||
{
|
||||
while(*outputbusy);
|
||||
*outputbusy+=1;
|
||||
QString temp = QString("%1:%2").arg(ipstr).arg(ipint);
|
||||
output_list->append(temp);
|
||||
//qDebug() << ipstr<<":"<< ipint;
|
||||
//msleep(1);
|
||||
*outputbusy-=1;
|
||||
}
|
||||
m_socket.disconnectFromHost();
|
||||
m_socket.disconnect();
|
||||
|
||||
|
||||
//while(*barbusy);
|
||||
//*barbusy+=1;
|
||||
|
||||
//str.asprintf("停止 %.3f",((0.0+*nt_bar)/(0.0+*t_bar))*100);
|
||||
//bt->setText(QString("%1%").arg(((0.0+*nt_bar)/(0.0+*t_bar))*100));
|
||||
//qDebug()<<*nt_bar<<"/"<<*t_bar;
|
||||
//*barbusy-=1;
|
||||
|
||||
//*now_thread_num-=1;
|
||||
}
|
||||
}
|
||||
|
||||
void trytry::run()
|
||||
{
|
||||
emit try_one(1);
|
||||
QString temp = QString("%1:%2").arg(ipstr).arg(ipint);
|
||||
|
||||
|
||||
QTcpSocket *m_socket=new QTcpSocket;
|
||||
|
||||
connect(m_socket,&QTcpSocket::disconnected,[=]{
|
||||
qDebug()<<temp<<"Disconnected";
|
||||
//m_socket->disconnect();
|
||||
m_socket->close();
|
||||
m_socket->flush();
|
||||
m_socket->deleteLater();
|
||||
delete m_socket;
|
||||
});
|
||||
connect(m_socket,&QTcpSocket::connected,[=]{
|
||||
emit connect_ok(temp);
|
||||
qDebug()<<temp;
|
||||
});
|
||||
|
||||
m_socket->connectToHost(ipstr, ipint, QTcpSocket::ReadWrite);
|
||||
m_socket->waitForConnected(timeout);
|
||||
m_socket->disconnectFromHost();
|
||||
|
||||
emit try_one(-1);
|
||||
|
||||
}
|
||||
|
||||
|
||||
dispatch::dispatch()
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
void dispatch::tray(const QString& ipstr, quint32 ipint)
|
||||
{
|
||||
|
||||
|
||||
|
||||
//qDebug()<<"thread "<<now_thread_num<<":"<<set_thread_num;
|
||||
while (now_thread_num> set_thread_num)
|
||||
{
|
||||
//qDebug()<<"while "<<now_thread_num<<":"<<set_thread_num;
|
||||
}
|
||||
|
||||
try_telnet=new trytry;
|
||||
try_telnet->ipstr = ipstr;
|
||||
try_telnet->ipint = ipint;
|
||||
try_telnet->timeout = timeout;
|
||||
try_telnet->output_list = output_list;
|
||||
|
||||
|
||||
try_telnet->now_thread_num = &now_thread_num;
|
||||
|
||||
try_telnet->t_bar=t_bar;
|
||||
try_telnet->nt_bar=nt_bar;
|
||||
|
||||
try_telnet->outputbusy=&outputbusy;
|
||||
try_telnet->barbusy=&barbusy;
|
||||
|
||||
|
||||
|
||||
//try_telnet->moveToThread(main_thread);
|
||||
|
||||
connect(try_telnet,&QThread::started,[=]()
|
||||
{
|
||||
now_thread_num+=1;
|
||||
|
||||
thread_start_lock=0;
|
||||
|
||||
});
|
||||
connect(try_telnet,&QThread::finished,[=]()
|
||||
{
|
||||
now_thread_num-=1;
|
||||
|
||||
});
|
||||
|
||||
while(thread_start_lock);
|
||||
try_telnet->start();
|
||||
thread_start_lock=1;
|
||||
|
||||
*nt_bar+=1;
|
||||
emit dispatch_one();
|
||||
}
|
||||
|
||||
void dispatch::run()
|
||||
{
|
||||
|
||||
|
||||
//qDebug()<< ui->IP_list->toPlainText();
|
||||
|
||||
//the_bar->setValue(20);
|
||||
|
||||
//QTcpSocket* m_socket = new QTcpSocket;
|
||||
|
||||
QStringList str_ip_list = ip_list->toPlainText().split("\n");
|
||||
QStringList str_ip_list = ip_list.split("\n");
|
||||
QStringList str_ips_list;
|
||||
|
||||
QStringList str_port_list = port_list->toPlainText().split("\n");
|
||||
QStringList str_ports_list;
|
||||
QStringList str_list_more;
|
||||
quint32 ipa,ipb;
|
||||
QStringList str_port_list = port_list.split("\n");
|
||||
QStringList str_ports_temp;
|
||||
QStringList str_porttoport_temp;
|
||||
quint32 porta,portb;
|
||||
QList <quint32> ports_list;
|
||||
quint64 ports_num=0;
|
||||
quint64 ips_num=0;
|
||||
QRegExp ex_ipv4 ("^((25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$");
|
||||
QRegExp ex_ipv4_more("^((25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)-((25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$");
|
||||
QRegExp ex_ipv4_more2("^((25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)/(0?[0-9]|1[0-9]|2[0-9]|3[0-2])$");
|
||||
QRegExp ex_ipv6 ("^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$");
|
||||
QRegExp ex_domain ("^([a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\.)+[a-zA-Z]{2,}$");
|
||||
|
||||
|
||||
|
||||
quint32 ips_num=0;
|
||||
quint32 ports_num=0;
|
||||
for (int i = 0; i < str_ip_list.size(); ++i)
|
||||
{
|
||||
//qDebug() << str_ip_list.at(i);
|
||||
str_ips_list = str_ip_list.at(i).split("-");
|
||||
if (str_ips_list.size() > 1)
|
||||
if(ex_ipv4.exactMatch(str_ip_list.at(i)))
|
||||
{
|
||||
qDebug() << str_ip_list.at(i)<<" is ipv4";
|
||||
str_ips_list.append(str_ip_list.at(i));
|
||||
ips_num+=1;
|
||||
}else if(ex_ipv4_more.exactMatch(str_ip_list.at(i)))
|
||||
{
|
||||
qDebug() << str_ip_list.at(i)<<" is ipv4_more";
|
||||
str_list_more=str_ip_list.at(i).split("-");
|
||||
ipa=ipv4str_to_int(str_list_more.at(0));
|
||||
ipb=ipv4str_to_int(str_list_more.at(1));
|
||||
if(ipa>ipb)
|
||||
{
|
||||
for(;ipb<=ipa;ipb++)
|
||||
{
|
||||
str_ips_list.append(ipv4int_to_str(ipb));
|
||||
ips_num+=1;
|
||||
}
|
||||
}else if(ipb>ipa)
|
||||
{
|
||||
for(;ipa<=ipb;ipa++)
|
||||
{
|
||||
str_ips_list.append(ipv4int_to_str(ipa));
|
||||
ips_num+=1;
|
||||
}
|
||||
}else//=
|
||||
{
|
||||
str_ips_list.append(ipv4int_to_str(ipa));
|
||||
ips_num+=1;
|
||||
}
|
||||
|
||||
}else if(ex_ipv4_more2.exactMatch(str_ip_list.at(i)))
|
||||
{
|
||||
|
||||
ips_num=ipv4str_to_int(str_ips_list.at(str_ips_list.size() - 1))-ipv4str_to_int(str_ips_list.at(0))+1;
|
||||
qDebug() << str_ip_list.at(i)<<" is ipv4_more2";
|
||||
str_list_more=str_ip_list.at(i).split("/");
|
||||
ipa=ipv4str_to_int(str_list_more.at(0));
|
||||
ipb=qPow(2,(32-str_list_more.at(1).toInt()));
|
||||
for(quint32 ii=0;ii<ipb;ii++)
|
||||
{
|
||||
str_ips_list.append(ipv4int_to_str(ipa+ii));
|
||||
ips_num+=1;
|
||||
}
|
||||
|
||||
}else if(ex_ipv6.exactMatch(str_ip_list.at(i)))
|
||||
{
|
||||
|
||||
qDebug() << str_ip_list.at(i)<<" is ipv6";
|
||||
str_ips_list.append(str_ip_list.at(i));
|
||||
ips_num+=1;
|
||||
}else if(ex_domain.exactMatch(str_ip_list.at(i)))
|
||||
{
|
||||
|
||||
qDebug() << str_ip_list.at(i)<<" is domain";
|
||||
str_ips_list.append(str_ip_list.at(i));
|
||||
ips_num+=1;
|
||||
}else
|
||||
{
|
||||
|
||||
ips_num+=1;
|
||||
|
||||
}
|
||||
qDebug() << str_ip_list.at(i)<<" don't know what is thit";
|
||||
}
|
||||
|
||||
|
||||
for (quint32 ii = 0; ii < str_port_list.size(); ii++)
|
||||
{
|
||||
str_ports_list = str_port_list.at(ii).split("-");
|
||||
if (str_ports_list.size() > 1)
|
||||
{
|
||||
|
||||
ports_num=str_ports_list.at(str_ports_list.size() - 1).toInt() -str_ports_list.at(0).toInt()+1;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
|
||||
QRegExp ex_port ("^(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$");
|
||||
QRegExp ex_porttoport("^(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])-(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$");
|
||||
//QRegExp ex_portmore ("^(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]);$");
|
||||
for (int i = 0; i < str_port_list.size(); ++i)
|
||||
{
|
||||
str_ports_temp=str_port_list.at(i).split(";");
|
||||
for (int ii = 0; ii < str_ports_temp.size(); ++ii)
|
||||
{
|
||||
if(ex_port.exactMatch(str_ports_temp.at(ii)))
|
||||
{
|
||||
qDebug()<<str_ports_temp.at(ii)<<" norlmore port";
|
||||
ports_list.append(str_ports_temp.at(ii).toInt());
|
||||
ports_num+=1;
|
||||
}
|
||||
}
|
||||
|
||||
*t_bar=ips_num*ports_num;
|
||||
*nt_bar=0;
|
||||
outputbusy=0;
|
||||
|
||||
\
|
||||
//qDebug()<<*t_bar;
|
||||
//*****************************
|
||||
for (int i = 0; i < str_ip_list.size(); ++i)
|
||||
}else if(ex_porttoport.exactMatch(str_ports_temp.at(ii)))
|
||||
{
|
||||
//qDebug() << str_ip_list.at(i);
|
||||
str_ips_list = str_ip_list.at(i).split("-");
|
||||
if (str_ips_list.size() > 1)
|
||||
qDebug()<<str_ports_temp.at(ii)<<" port to port";
|
||||
str_porttoport_temp=str_ports_temp.at(ii).split("-");
|
||||
porta=str_porttoport_temp.at(0).toInt();
|
||||
portb=str_porttoport_temp.at(1).toInt();
|
||||
if(porta>portb)
|
||||
{
|
||||
for(;portb<=porta;portb++)
|
||||
{
|
||||
ports_list.append(portb);
|
||||
ports_num+=1;
|
||||
|
||||
}
|
||||
}else if(portb>porta)
|
||||
{
|
||||
for(;porta<=portb;porta++)
|
||||
{
|
||||
ports_list.append(porta);
|
||||
ports_num+=1;
|
||||
|
||||
}
|
||||
}else//=
|
||||
{
|
||||
ports_list.append(porta);
|
||||
ports_num+=1;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
quint64 scantimes=ips_num*ports_num,now_scan=0;
|
||||
|
||||
qDebug() << "IP: "<<ips_num;
|
||||
qDebug() << "port :"<<ports_num;
|
||||
qDebug() << "scan times :"<<scantimes;
|
||||
quint16 jindu=0,jindu_old=0;
|
||||
for(quint64 ii=0;ii<ips_num;ii++)
|
||||
{
|
||||
for(quint64 iii=0;iii<ports_num;iii++)
|
||||
{
|
||||
|
||||
for (quint32 ips = ipv4str_to_int(str_ips_list.at(0)); ips < ipv4str_to_int(str_ips_list.at(str_ips_list.size() - 1)) + 1; ips++)
|
||||
{
|
||||
//qDebug() << ipv4int_to_str(ips);
|
||||
for (quint32 ii = 0; ii < str_port_list.size(); ii++)
|
||||
{
|
||||
str_ports_list = str_port_list.at(ii).split("-");
|
||||
if (str_ports_list.size() > 1)
|
||||
//qDebug() <<str_ips_list.at(ii)<<":"<< ports_list.at(iii);
|
||||
|
||||
//qDebug()<<"now:"<<this->now_thread_num<<" - set:"<<this->set_thread_num;
|
||||
|
||||
|
||||
connecttry=new trytry;
|
||||
connecttry->timeout=this->timeout;
|
||||
connecttry->ipstr=str_ips_list.at(ii);
|
||||
connecttry->ipint=ports_list.at(iii);
|
||||
|
||||
|
||||
connect(connecttry,&trytry::try_one,this,&dispatch::f_one);
|
||||
connect(connecttry,&trytry::connect_ok,[=](QString temp){emit connect_ok(temp);});
|
||||
/*
|
||||
connect(connecttry,&trytry::finished,[=]{
|
||||
connecttry->disconnect();
|
||||
connecttry->quit();
|
||||
connecttry->wait();
|
||||
});
|
||||
*/
|
||||
connecttry->start();
|
||||
|
||||
jindu=(quint16)(((qfloat16)(now_scan)/(qfloat16)(scantimes))*100);
|
||||
if(jindu!=jindu_old)
|
||||
{
|
||||
jindu_old=jindu;
|
||||
//qDebug() <<jindu;
|
||||
|
||||
for (quint32 prots = str_ports_list.at(0).toInt(); prots < str_ports_list.at(str_ports_list.size() - 1).toInt() + 1; prots++)
|
||||
{
|
||||
dispatch::tray(ipv4int_to_str(ips), prots);
|
||||
emit return_jindu(jindu);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
dispatch::tray(ipv4int_to_str(ips), str_ports_list.at(0).toInt());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
now_scan+=1;
|
||||
|
||||
for (quint32 ii = 0; ii < str_port_list.size(); ii++)
|
||||
{
|
||||
str_ports_list = str_port_list.at(ii).split("-");
|
||||
if (str_ports_list.size() > 1)
|
||||
{
|
||||
|
||||
for (quint32 prots = str_ports_list.at(0).toInt(); prots < str_ports_list.at(str_ports_list.size() - 1).toInt() + 1; prots++)
|
||||
{
|
||||
dispatch::tray(str_ips_list.at(0), prots);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
dispatch::tray(str_ips_list.at(0), str_ports_list.at(0).toInt());
|
||||
while(this->now_thread_num>this->set_thread_num);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//for (unsigned long a = str_ips_list.at(0).toInt();a< str_ip_list.size()>1? str_ips_list.at(1).toInt()+1: str_ips_list.at(0).toInt()+1;a++)
|
||||
//{
|
||||
// qDebug() << a;
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
//sleep(1);
|
||||
while(now_thread_num);
|
||||
emit dispatch_finish();
|
||||
}
|
||||
|
||||
void dispatch::f_one(qint16 temp)
|
||||
{
|
||||
this->now_thread_num+=temp;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
+18
-25
@@ -9,26 +9,22 @@
|
||||
#include <QTcpSocket> //socket
|
||||
#include <QLabel>
|
||||
#include <QPlainTextEdit>
|
||||
|
||||
|
||||
#include <qmath.h>
|
||||
#include <QFloat16>
|
||||
|
||||
class trytry : public QThread
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
trytry();
|
||||
|
||||
quint16 *outputbusy;
|
||||
quint16 *barbusy;
|
||||
quint16 timeout;
|
||||
QString ipstr;
|
||||
quint32 ipint;
|
||||
int *now_thread_num;
|
||||
QTextEdit* output_list;
|
||||
|
||||
quint64 *t_bar;
|
||||
quint64 *nt_bar;
|
||||
|
||||
void run();
|
||||
|
||||
signals:
|
||||
void try_one(qint16);
|
||||
void connect_ok(QString);
|
||||
|
||||
};
|
||||
|
||||
@@ -39,27 +35,24 @@ public:
|
||||
|
||||
dispatch();
|
||||
|
||||
int set_thread_num;
|
||||
int now_thread_num;
|
||||
int thread_start_lock=0;
|
||||
qint16 set_thread_num;
|
||||
qint16 now_thread_num;
|
||||
quint16 thread_start_lock=0;
|
||||
quint16 timeout;
|
||||
quint64 *t_bar;
|
||||
quint64 *nt_bar;
|
||||
quint16 outputbusy=0;
|
||||
quint16 barbusy=0;
|
||||
//QThread* main_thread;
|
||||
QPlainTextEdit* ip_list;
|
||||
QPlainTextEdit* port_list;
|
||||
QTextEdit* output_list;
|
||||
|
||||
trytry* try_telnet;
|
||||
QString ip_list;
|
||||
QString port_list;
|
||||
|
||||
trytry *connecttry;
|
||||
|
||||
|
||||
void tray(const QString& ipstr, quint32 ipint);
|
||||
void run();
|
||||
|
||||
void f_one(qint16 temp);
|
||||
signals:
|
||||
void dispatch_finish();
|
||||
void dispatch_one();
|
||||
void return_jindu(quint16);
|
||||
void connect_ok(QString);
|
||||
};
|
||||
|
||||
|
||||
|
||||
+333
-52
@@ -3,14 +3,66 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void Widget::auto_edit()
|
||||
void Widget::keyboard_en(bool a)
|
||||
{
|
||||
//qDebug("%d",rand());
|
||||
ui->pushButton_2->setDisabled(a);
|
||||
ui->pushButton_3->setDisabled(a);
|
||||
ui->pushButton_4->setDisabled(a);
|
||||
ui->pushButton_5->setDisabled(a);
|
||||
ui->pushButton_6->setDisabled(a);
|
||||
ui->pushButton_7->setDisabled(a);
|
||||
ui->pushButton_8->setDisabled(a);
|
||||
ui->pushButton_9->setDisabled(a);
|
||||
ui->pushButton_10->setDisabled(a);
|
||||
ui->pushButton_11->setDisabled(a);
|
||||
ui->pushButton_12->setDisabled(a);
|
||||
ui->pushButton_13->setDisabled(a);
|
||||
ui->pushButton_14->setDisabled(a);
|
||||
ui->pushButton_15->setDisabled(a);
|
||||
ui->pushButton_16->setDisabled(a);
|
||||
ui->pushButton_17->setDisabled(a);
|
||||
ui->pushButton_18->setDisabled(a);
|
||||
ui->pushButton_19->setDisabled(a);
|
||||
ui->pushButton_20->setDisabled(a);
|
||||
ui->pushButton_21->setDisabled(a);
|
||||
ui->pushButton_22->setDisabled(a);
|
||||
ui->pushButton_23->setDisabled(a);
|
||||
ui->pushButton_24->setDisabled(a);
|
||||
ui->pushButton_25->setDisabled(a);
|
||||
ui->pushButton_26->setDisabled(a);
|
||||
ui->pushButton_27->setDisabled(a);
|
||||
ui->pushButton_28->setDisabled(a);
|
||||
ui->pushButton_29->setDisabled(a);
|
||||
ui->pushButton_30->setDisabled(a);
|
||||
ui->pushButton_31->setDisabled(a);
|
||||
ui->pushButton_32->setDisabled(a);
|
||||
ui->pushButton_33->setDisabled(a);
|
||||
ui->pushButton_34->setDisabled(a);
|
||||
ui->pushButton_35->setDisabled(a);
|
||||
ui->pushButton_36->setDisabled(a);
|
||||
ui->pushButton_37->setDisabled(a);
|
||||
ui->pushButton_38->setDisabled(a);
|
||||
ui->pushButton_39->setDisabled(a);
|
||||
ui->pushButton_40->setDisabled(a);
|
||||
ui->pushButton_41->setDisabled(a);
|
||||
ui->pushButton_42->setDisabled(a);
|
||||
ui->pushButton_43->setDisabled(a);
|
||||
ui->pushButton_44->setDisabled(a);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
void Widget::output_chuli(QString temp)
|
||||
{
|
||||
ui->outputlist->append(temp);
|
||||
}
|
||||
|
||||
|
||||
void Widget::jindu_chuli(quint16 temp)
|
||||
{
|
||||
//qDebug()<<temp;
|
||||
ui->progressBar->setValue(temp);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,81 +72,310 @@ Widget::Widget(QWidget *parent)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
//qDebug("hello world");
|
||||
ui->outputlist->setReadOnly(true);
|
||||
ui->stard_scan->setText("start scan");
|
||||
|
||||
|
||||
|
||||
|
||||
//main_thread = new QThread(this);
|
||||
//main_thread->start();
|
||||
connect(ui->stard_scan, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
|
||||
if(scan_flag==0)
|
||||
{
|
||||
connect(this,&Widget::start_scan,[=]{
|
||||
scan_flag=1;
|
||||
|
||||
keyboard_en(true);
|
||||
ui->IP_list->setReadOnly(true);
|
||||
ui->port_list->setReadOnly(true);
|
||||
ui->timeout->setReadOnly(true);
|
||||
ui->threads->setReadOnly(true);
|
||||
ui->stard_scan->setText("停止");
|
||||
|
||||
|
||||
//dispatch* dispatch_thread;
|
||||
dispatch_thread = new dispatch;
|
||||
|
||||
dispatch_thread->ip_list = ui->IP_list;
|
||||
dispatch_thread->port_list = ui->port_list;
|
||||
dispatch_thread->output_list = ui->outputlist;
|
||||
|
||||
|
||||
ui->stard_scan->setText("stop scan");
|
||||
dispatch_thread = new dispatch;//线程分发
|
||||
dispatch_thread->ip_list=ui->IP_list->toPlainText();
|
||||
dispatch_thread->port_list=ui->port_list->toPlainText();
|
||||
dispatch_thread->set_thread_num = ui->threads->value();
|
||||
dispatch_thread->now_thread_num = 0;
|
||||
dispatch_thread->timeout = ui->timeout->value();
|
||||
|
||||
dispatch_thread->nt_bar=&nt_bar;
|
||||
dispatch_thread->t_bar=&t_bar;
|
||||
|
||||
//dispatch_thread->main_thread = main_thread;
|
||||
//dispatch_thread->moveToThread(main_thread);
|
||||
connect(dispatch_thread, &dispatch::dispatch_one, [=]()
|
||||
{
|
||||
//qDebug()<<100*nt_bar/t_bar;
|
||||
//ui->t_bar->setValue(100*nt_bar/t_bar);
|
||||
ui->stard_scan->setText(QString("停止 %1%").arg(100*nt_bar/t_bar));
|
||||
|
||||
connect(dispatch_thread,&dispatch::dispatch_finish,[=]{
|
||||
emit stop_scan();
|
||||
});
|
||||
connect(dispatch_thread, &dispatch::finished, [=]()
|
||||
{
|
||||
qDebug() << "dispatch_finish";
|
||||
connect(dispatch_thread,&dispatch::return_jindu,this,&Widget::jindu_chuli,Qt::QueuedConnection);
|
||||
connect(dispatch_thread,&dispatch::connect_ok,this,&Widget::output_chuli,Qt::QueuedConnection);
|
||||
ui->progressBar->setValue(0);
|
||||
dispatch_thread->start();
|
||||
ui->stard_scan->setDisabled(false);
|
||||
});
|
||||
|
||||
connect(this,&Widget::stop_scan,[=]{
|
||||
scan_flag=0;
|
||||
keyboard_en(false);
|
||||
ui->IP_list->setReadOnly(false);
|
||||
ui->port_list->setReadOnly(false);
|
||||
ui->timeout->setReadOnly(false);
|
||||
ui->threads->setReadOnly(false);
|
||||
ui->stard_scan->setText("开始扫描");
|
||||
scan_flag=0;
|
||||
ui->stard_scan->setText("start scan");
|
||||
|
||||
disconnect(dispatch_thread);
|
||||
//dispatch_thread->disconnect();
|
||||
dispatch_thread->quit();
|
||||
dispatch_thread->wait();
|
||||
//delete dispatch_thread;
|
||||
ui->stard_scan->setDisabled(false);
|
||||
qDebug() << "tray_exit";
|
||||
|
||||
});
|
||||
dispatch_thread->start();
|
||||
|
||||
connect(ui->stard_scan, &QPushButton::pressed, [=]()
|
||||
{
|
||||
ui->stard_scan->setDisabled(true);
|
||||
if(scan_flag==0)
|
||||
{
|
||||
emit start_scan();
|
||||
}else
|
||||
{
|
||||
qDebug() << "tray_exit";
|
||||
dispatch_thread->terminate();
|
||||
emit stop_scan();
|
||||
|
||||
}
|
||||
|
||||
});//'scan button pass'
|
||||
|
||||
|
||||
connect(ui->pushButton_2, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->IP_list->insertPlainText(ui->pushButton_2->text());
|
||||
});
|
||||
connect(ui->pushButton_3, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->IP_list->insertPlainText(ui->pushButton_3->text());
|
||||
});
|
||||
connect(ui->pushButton_4, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->IP_list->insertPlainText(ui->pushButton_4->text());
|
||||
});
|
||||
connect(ui->pushButton_5, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->IP_list->insertPlainText(ui->pushButton_5->text());
|
||||
});
|
||||
connect(ui->pushButton_6, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->IP_list->insertPlainText("\n");
|
||||
});
|
||||
connect(ui->pushButton_7, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->IP_list->insertPlainText(ui->pushButton_7->text());
|
||||
});
|
||||
connect(ui->pushButton_8, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->IP_list->insertPlainText(ui->pushButton_8->text());
|
||||
});
|
||||
connect(ui->pushButton_9, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->IP_list->insertPlainText(ui->pushButton_9->text());
|
||||
});
|
||||
connect(ui->pushButton_10, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->IP_list->insertPlainText(ui->pushButton_10->text());
|
||||
});
|
||||
connect(ui->pushButton_11, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->IP_list->insertPlainText(ui->pushButton_11->text());
|
||||
});
|
||||
connect(ui->pushButton_12, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->IP_list->insertPlainText(ui->pushButton_12->text());
|
||||
});
|
||||
connect(ui->pushButton_13, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->IP_list->insertPlainText(ui->pushButton_13->text());
|
||||
});
|
||||
connect(ui->pushButton_14, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->IP_list->insertPlainText(ui->pushButton_14->text());
|
||||
});
|
||||
connect(ui->pushButton_15, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->IP_list->insertPlainText(ui->pushButton_15->text());
|
||||
});
|
||||
connect(ui->pushButton_16, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->IP_list->insertPlainText(ui->pushButton_16->text());
|
||||
});
|
||||
connect(ui->pushButton_17, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->IP_list->insertPlainText(ui->pushButton_17->text());
|
||||
});
|
||||
connect(ui->pushButton_18, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->IP_list->insertPlainText(ui->pushButton_18->text());
|
||||
});
|
||||
connect(ui->pushButton_19, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->IP_list->insertPlainText(ui->pushButton_19->text());
|
||||
});
|
||||
connect(ui->pushButton_21, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->IP_list->clear();
|
||||
});
|
||||
|
||||
|
||||
//connect(ui->IP_list,&QTextEdit::textChanged,this, &Widget::auto_edit);
|
||||
connect(ui->pushButton_22, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->appendPlainText(ui->pushButton_22->text());
|
||||
|
||||
});
|
||||
connect(ui->pushButton_23, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->appendPlainText(ui->pushButton_23->text());
|
||||
|
||||
});
|
||||
connect(ui->pushButton_24, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->appendPlainText(ui->pushButton_24->text());
|
||||
|
||||
});
|
||||
connect(ui->pushButton_25, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->appendPlainText(ui->pushButton_25->text());
|
||||
|
||||
});
|
||||
connect(ui->pushButton_26, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->appendPlainText(ui->pushButton_26->text());
|
||||
|
||||
});
|
||||
connect(ui->pushButton_27, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->appendPlainText(ui->pushButton_27->text());
|
||||
|
||||
});
|
||||
connect(ui->pushButton_28, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->appendPlainText(ui->pushButton_28->text());
|
||||
|
||||
});
|
||||
connect(ui->pushButton_29, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->appendPlainText(ui->pushButton_29->text());
|
||||
|
||||
});
|
||||
connect(ui->pushButton_30, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->appendPlainText(ui->pushButton_30->text());
|
||||
|
||||
});
|
||||
|
||||
connect(ui->pushButton_31, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->insertPlainText(ui->pushButton_31->text());
|
||||
|
||||
});
|
||||
connect(ui->pushButton_32, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->insertPlainText(ui->pushButton_32->text());
|
||||
|
||||
});
|
||||
connect(ui->pushButton_33, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->insertPlainText(ui->pushButton_33->text());
|
||||
|
||||
});
|
||||
connect(ui->pushButton_34, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->insertPlainText(ui->pushButton_34->text());
|
||||
|
||||
});
|
||||
connect(ui->pushButton_35, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->insertPlainText(ui->pushButton_35->text());
|
||||
|
||||
});
|
||||
connect(ui->pushButton_36, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->insertPlainText(ui->pushButton_36->text());
|
||||
|
||||
});
|
||||
connect(ui->pushButton_37, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->insertPlainText(ui->pushButton_37->text());
|
||||
|
||||
});
|
||||
connect(ui->pushButton_38, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->insertPlainText(ui->pushButton_38->text());
|
||||
|
||||
});
|
||||
connect(ui->pushButton_39, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->insertPlainText(ui->pushButton_39->text());
|
||||
|
||||
});
|
||||
connect(ui->pushButton_40, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->insertPlainText("\n");
|
||||
|
||||
});
|
||||
connect(ui->pushButton_41, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->insertPlainText(ui->pushButton_41->text());
|
||||
|
||||
});
|
||||
connect(ui->pushButton_42, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->insertPlainText(ui->pushButton_42->text());
|
||||
|
||||
});
|
||||
connect(ui->pushButton_43, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->clear();
|
||||
|
||||
});
|
||||
connect(ui->pushButton_44, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->port_list->insertPlainText(ui->pushButton_44->text());
|
||||
|
||||
});
|
||||
|
||||
connect(ui->clearoutput, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
ui->outputlist->clear();
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
Widget::~Widget()
|
||||
|
||||
@@ -33,6 +33,12 @@ public:
|
||||
quint64 t_bar=0;
|
||||
quint64 nt_bar=0;
|
||||
|
||||
void output_chuli(QString temp);
|
||||
void jindu_chuli(quint16 temp);
|
||||
void keyboard_en(bool a);
|
||||
signals:
|
||||
void stop_scan();
|
||||
void start_scan();
|
||||
|
||||
private:
|
||||
Ui::Widget* ui;
|
||||
|
||||
+611
-38
@@ -6,19 +6,19 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>600</width>
|
||||
<width>800</width>
|
||||
<height>500</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>600</width>
|
||||
<width>800</width>
|
||||
<height>500</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>600</width>
|
||||
<width>800</width>
|
||||
<height>500</height>
|
||||
</size>
|
||||
</property>
|
||||
@@ -44,9 +44,9 @@
|
||||
<widget class="QPushButton" name="stard_scan">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>420</x>
|
||||
<x>690</x>
|
||||
<y>220</y>
|
||||
<width>171</width>
|
||||
<width>91</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
@@ -62,14 +62,14 @@
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>开始扫描</string>
|
||||
<string>Start</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="threads">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>350</x>
|
||||
<y>230</y>
|
||||
<x>240</x>
|
||||
<y>240</y>
|
||||
<width>61</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
@@ -81,14 +81,14 @@
|
||||
<number>999</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>10</number>
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>320</x>
|
||||
<y>230</y>
|
||||
<x>240</x>
|
||||
<y>220</y>
|
||||
<width>31</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
@@ -97,30 +97,17 @@
|
||||
<string>线程</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>230</y>
|
||||
<width>53</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>扫描结果</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>70</x>
|
||||
<y>230</y>
|
||||
<width>91</width>
|
||||
<x>10</x>
|
||||
<y>240</y>
|
||||
<width>81</width>
|
||||
<height>24</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>保存扫描结果</string>
|
||||
<string>Save output</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label">
|
||||
@@ -128,13 +115,14 @@
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>20</y>
|
||||
<width>141</width>
|
||||
<width>171</width>
|
||||
<height>71</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>IP范围
|
||||
<string>IP范围 总数不能超过2147483647
|
||||
127.0.0.1
|
||||
192.168.0.0/24
|
||||
0.0.0.0-255.255.255.255
|
||||
domain.com</string>
|
||||
</property>
|
||||
@@ -144,7 +132,7 @@ domain.com</string>
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>270</y>
|
||||
<width>581</width>
|
||||
<width>771</width>
|
||||
<height>221</height>
|
||||
</rect>
|
||||
</property>
|
||||
@@ -155,8 +143,8 @@ domain.com</string>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>200</x>
|
||||
<y>230</y>
|
||||
<x>170</x>
|
||||
<y>220</y>
|
||||
<width>41</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
@@ -168,8 +156,8 @@ domain.com</string>
|
||||
<widget class="QSpinBox" name="timeout">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>250</x>
|
||||
<y>230</y>
|
||||
<x>170</x>
|
||||
<y>240</y>
|
||||
<width>61</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
@@ -189,7 +177,7 @@ domain.com</string>
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>100</y>
|
||||
<width>471</width>
|
||||
<width>301</width>
|
||||
<height>111</height>
|
||||
</rect>
|
||||
</property>
|
||||
@@ -197,13 +185,598 @@ domain.com</string>
|
||||
<widget class="QPlainTextEdit" name="port_list">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>490</x>
|
||||
<x>483</x>
|
||||
<y>100</y>
|
||||
<width>104</width>
|
||||
<width>111</width>
|
||||
<height>111</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>320</x>
|
||||
<y>100</y>
|
||||
<width>61</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>192.168.</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>320</x>
|
||||
<y>130</y>
|
||||
<width>61</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>169.254.</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>320</x>
|
||||
<y>160</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>10.</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>350</x>
|
||||
<y>160</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>100.</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_6">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>320</x>
|
||||
<y>190</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>ENT</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_7">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>350</x>
|
||||
<y>190</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>/</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_8">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>380</x>
|
||||
<y>190</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>.</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_9">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>440</x>
|
||||
<y>190</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>-</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_10">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>410</x>
|
||||
<y>190</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_11">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>380</x>
|
||||
<y>100</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>1</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_12">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>410</x>
|
||||
<y>100</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>2</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_13">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>440</x>
|
||||
<y>100</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>3</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_14">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>380</x>
|
||||
<y>130</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>4</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_15">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>410</x>
|
||||
<y>130</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>5</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_16">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>440</x>
|
||||
<y>130</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>6</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_17">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>380</x>
|
||||
<y>160</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>7</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_18">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>410</x>
|
||||
<y>160</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>8</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_19">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>440</x>
|
||||
<y>160</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>9</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_20">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>380</x>
|
||||
<y>220</y>
|
||||
<width>91</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Ping Olny</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_21">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>320</x>
|
||||
<y>220</y>
|
||||
<width>61</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>clear</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_22">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>600</x>
|
||||
<y>100</y>
|
||||
<width>61</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>1-65535</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_23">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>600</x>
|
||||
<y>130</y>
|
||||
<width>41</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>80;443</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_24">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>620</x>
|
||||
<y>160</y>
|
||||
<width>21</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>22</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_25">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>640</x>
|
||||
<y>160</y>
|
||||
<width>21</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>23</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_26">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>600</x>
|
||||
<y>160</y>
|
||||
<width>21</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>21</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_27">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>640</x>
|
||||
<y>130</y>
|
||||
<width>51</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>3389</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_28">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>660</x>
|
||||
<y>160</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>445</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_29">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>600</x>
|
||||
<y>190</y>
|
||||
<width>41</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>25565</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_30">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>640</x>
|
||||
<y>190</y>
|
||||
<width>51</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>25;587</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QProgressBar" name="progressBar">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>487</x>
|
||||
<y>230</y>
|
||||
<width>111</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_31">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>690</x>
|
||||
<y>130</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>4</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_32">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>750</x>
|
||||
<y>130</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>6</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_33">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>690</x>
|
||||
<y>100</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>1</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_34">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>720</x>
|
||||
<y>100</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>2</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_35">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>720</x>
|
||||
<y>130</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>5</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_36">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>720</x>
|
||||
<y>160</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>8</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_37">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>750</x>
|
||||
<y>160</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>9</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_38">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>690</x>
|
||||
<y>160</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>7</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_39">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>750</x>
|
||||
<y>100</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>3</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_41">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>720</x>
|
||||
<y>190</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_42">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>750</x>
|
||||
<y>190</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>-</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_40">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>660</x>
|
||||
<y>100</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>ENT</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_43">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>600</x>
|
||||
<y>220</y>
|
||||
<width>91</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>clear</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_44">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>690</x>
|
||||
<y>190</y>
|
||||
<width>31</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>;</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="clearoutput">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>90</x>
|
||||
<y>240</y>
|
||||
<width>71</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>clear output</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
|
||||
Reference in New Issue
Block a user