From 0b85c3f710476ff5171497376d36b9add9cd1337 Mon Sep 17 00:00:00 2001 From: fong Date: Wed, 31 Jan 2024 10:50:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E4=BA=86=E4=B8=8B=E5=A4=96=E8=A7=82?= =?UTF-8?q?=20Signed-off-by:=20fong=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ip_sacaner/favicon.ico | Bin 0 -> 16958 bytes ip_sacaner/gitblt-favicon.png | Bin 0 -> 2679 bytes ip_sacaner/github-mark.png | Bin 0 -> 6393 bytes ip_sacaner/myres.qrc | 3 + ip_sacaner/widget.cpp | 20 ++- ip_sacaner/widget.h | 1 + ip_sacaner/widget.ui | 287 +++++++++++++++++++++------------- 7 files changed, 197 insertions(+), 114 deletions(-) create mode 100644 ip_sacaner/favicon.ico create mode 100644 ip_sacaner/gitblt-favicon.png create mode 100644 ip_sacaner/github-mark.png diff --git a/ip_sacaner/favicon.ico b/ip_sacaner/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..9c2691e7a62c27b8b9f0e6d495365c140ce7b02d GIT binary patch literal 16958 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 K|M&l}2L3OASLCn& literal 0 HcmV?d00001 diff --git a/ip_sacaner/gitblt-favicon.png b/ip_sacaner/gitblt-favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..872e564058838f66dff2dea1273cf5be51233e0a GIT binary patch literal 2679 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 literal 0 HcmV?d00001 diff --git a/ip_sacaner/github-mark.png b/ip_sacaner/github-mark.png new file mode 100644 index 0000000000000000000000000000000000000000..6cb3b705d018006a2bd4200ea94c9d5fb98b6f76 GIT binary patch literal 6393 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 Hu0mjfZ$b4` literal 0 HcmV?d00001 diff --git a/ip_sacaner/myres.qrc b/ip_sacaner/myres.qrc index ff2008c..9f04fb6 100644 --- a/ip_sacaner/myres.qrc +++ b/ip_sacaner/myres.qrc @@ -1,5 +1,8 @@ logo.ico + gitblt-favicon.png + github-mark.png + favicon.ico diff --git a/ip_sacaner/widget.cpp b/ip_sacaner/widget.cpp index cf484b2..320f993 100644 --- a/ip_sacaner/widget.cpp +++ b/ip_sacaner/widget.cpp @@ -76,8 +76,9 @@ Widget::Widget(QWidget *parent) ui->setupUi(this); ui->outputlist->setReadOnly(true); - ui->stard_scan->setText("start scan"); - + //ui->stard_scan->setText("start scan"); + ui->IP_list->setPlaceholderText("例子:\n127.0.0.1 - 单IP\n192.168.0.0/24 - 掩码IP段\n0.0.0.0-255.255.255.255 - IP段\ndomain.com - 单域名"); + ui->port_list->setPlaceholderText("例子:\n22 - 单端口\n80;443 - 多个不连续端口\n3000-65535 - 连续的端口范围"); connect(ui->pushButton_20, &QPushButton::pressed, [=]() @@ -175,6 +176,21 @@ Widget::Widget(QWidget *parent) }); + connect(ui->blog_button, &QPushButton::pressed, [=]() + { + QDesktopServices::openUrl(QUrl(QString("https://wnfed.com/").toLatin1())); + + }); + connect(ui->github_button, &QPushButton::pressed, [=]() + { + QDesktopServices::openUrl(QUrl(QString("https://github.com/wuwenfengmi1998/tcp_ip_scan").toLatin1())); + + }); + connect(ui->gitlab_button, &QPushButton::pressed, [=]() + { + QDesktopServices::openUrl(QUrl(QString("https://git.lmve.net/kevin/tcp_ip_scan").toLatin1())); + + }); connect(ui->pushButton_2, &QPushButton::pressed, [=]() { diff --git a/ip_sacaner/widget.h b/ip_sacaner/widget.h index 1f13971..f44abd7 100644 --- a/ip_sacaner/widget.h +++ b/ip_sacaner/widget.h @@ -11,6 +11,7 @@ #include #include #include +#include QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACE diff --git a/ip_sacaner/widget.ui b/ip_sacaner/widget.ui index 68a4d46..33947ee 100644 --- a/ip_sacaner/widget.ui +++ b/ip_sacaner/widget.ui @@ -33,24 +33,21 @@ - 510 - 30 + 400 + 10 71 - 61 + 21 - 端口范围 -80 -443 -3000-65535 + 端口 690 - 220 + 150 91 41 @@ -73,9 +70,9 @@ - 240 - 240 - 61 + 170 + 180 + 51 22 @@ -92,10 +89,10 @@ - 240 - 220 - 31 - 16 + 170 + 150 + 41 + 21 @@ -105,8 +102,8 @@ - 10 - 240 + 20 + 180 81 24 @@ -118,27 +115,23 @@ - 10 - 20 - 171 - 71 + 20 + 10 + 31 + 21 - IP范围 总数不能超过2147483647 -127.0.0.1 -192.168.0.0/24 -0.0.0.0-255.255.255.255 -domain.com + IP 10 - 270 + 210 771 - 221 + 251 @@ -148,10 +141,10 @@ domain.com - 170 - 220 + 110 + 150 41 - 16 + 21 @@ -161,9 +154,9 @@ domain.com - 170 - 240 - 61 + 110 + 180 + 51 22 @@ -180,9 +173,9 @@ domain.com - 10 - 100 - 301 + 20 + 30 + 211 111 @@ -190,18 +183,21 @@ domain.com - 483 - 100 - 111 + 400 + 30 + 191 111 + + + - 320 - 100 + 240 + 30 61 23 @@ -213,8 +209,8 @@ domain.com - 320 - 130 + 240 + 60 61 23 @@ -226,8 +222,8 @@ domain.com - 320 - 160 + 240 + 90 31 23 @@ -239,8 +235,8 @@ domain.com - 350 - 160 + 270 + 90 31 23 @@ -252,8 +248,8 @@ domain.com - 320 - 190 + 240 + 120 31 23 @@ -265,8 +261,8 @@ domain.com - 350 - 190 + 270 + 120 31 23 @@ -278,8 +274,8 @@ domain.com - 380 - 190 + 300 + 120 31 23 @@ -291,8 +287,8 @@ domain.com - 440 - 190 + 360 + 120 31 23 @@ -304,8 +300,8 @@ domain.com - 410 - 190 + 330 + 120 31 23 @@ -317,8 +313,8 @@ domain.com - 380 - 100 + 300 + 30 31 23 @@ -330,8 +326,8 @@ domain.com - 410 - 100 + 330 + 30 31 23 @@ -343,8 +339,8 @@ domain.com - 440 - 100 + 360 + 30 31 23 @@ -356,8 +352,8 @@ domain.com - 380 - 130 + 300 + 60 31 23 @@ -369,8 +365,8 @@ domain.com - 410 - 130 + 330 + 60 31 23 @@ -382,8 +378,8 @@ domain.com - 440 - 130 + 360 + 60 31 23 @@ -395,8 +391,8 @@ domain.com - 380 - 160 + 300 + 90 31 23 @@ -408,8 +404,8 @@ domain.com - 410 - 160 + 330 + 90 31 23 @@ -421,8 +417,8 @@ domain.com - 440 - 160 + 360 + 90 31 23 @@ -434,8 +430,8 @@ domain.com - 380 - 220 + 300 + 160 91 41 @@ -447,8 +443,8 @@ domain.com - 320 - 220 + 240 + 160 61 41 @@ -461,7 +457,7 @@ domain.com 600 - 100 + 30 61 23 @@ -474,8 +470,8 @@ domain.com 600 - 130 - 41 + 60 + 51 23 @@ -487,7 +483,7 @@ domain.com 620 - 160 + 90 21 23 @@ -500,7 +496,7 @@ domain.com 640 - 160 + 90 21 23 @@ -513,7 +509,7 @@ domain.com 600 - 160 + 90 21 23 @@ -525,9 +521,9 @@ domain.com - 640 - 130 - 51 + 650 + 60 + 41 23 @@ -539,7 +535,7 @@ domain.com 660 - 160 + 90 31 23 @@ -552,7 +548,7 @@ domain.com 600 - 190 + 120 41 23 @@ -565,7 +561,7 @@ domain.com 640 - 190 + 120 51 23 @@ -577,9 +573,9 @@ domain.com - 487 - 230 - 111 + 400 + 160 + 191 23 @@ -591,7 +587,7 @@ domain.com 690 - 130 + 60 31 23 @@ -604,7 +600,7 @@ domain.com 750 - 130 + 60 31 23 @@ -617,7 +613,7 @@ domain.com 690 - 100 + 30 31 23 @@ -630,7 +626,7 @@ domain.com 720 - 100 + 30 31 23 @@ -643,7 +639,7 @@ domain.com 720 - 130 + 60 31 23 @@ -656,7 +652,7 @@ domain.com 720 - 160 + 90 31 23 @@ -669,7 +665,7 @@ domain.com 750 - 160 + 90 31 23 @@ -682,7 +678,7 @@ domain.com 690 - 160 + 90 31 23 @@ -695,7 +691,7 @@ domain.com 750 - 100 + 30 31 23 @@ -708,7 +704,7 @@ domain.com 720 - 190 + 120 31 23 @@ -721,7 +717,7 @@ domain.com 750 - 190 + 120 31 23 @@ -734,7 +730,7 @@ domain.com 660 - 100 + 30 31 23 @@ -747,7 +743,7 @@ domain.com 600 - 220 + 150 91 41 @@ -760,7 +756,7 @@ domain.com 690 - 190 + 120 31 23 @@ -772,9 +768,9 @@ domain.com - 90 - 240 - 71 + 20 + 150 + 81 23 @@ -782,6 +778,73 @@ domain.com 清空输出 + + + + 10 + 470 + 121 + 31 + + + + V1.5 + + + + + + 710 + 470 + 71 + 23 + + + + GitHub + + + + :/new/prefix1/github-mark.png + + + + + + + 630 + 470 + 75 + 23 + + + + GitLab + + + + :/new/prefix1/gitblt-favicon.png + + + + + + + 550 + 470 + 75 + 23 + + + + Blog + + + + :/new/prefix1/favicon.ico + + +