多线程搞不定

This commit is contained in:
2022-01-03 21:47:20 +08:00
parent 2623bfee04
commit 492baa122c
21 changed files with 282 additions and 294 deletions
Binary file not shown.
Binary file not shown.
+50 -50
View File
@@ -1,51 +1,51 @@
widget.cpp scan_run.cpp
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x6e1 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x656 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x6e3 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x658 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x6e5 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x65a 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x6e7 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x65c 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x6ea 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x65f 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x73a 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x6af 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x73c 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x6b1 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x73e 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x6b3 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x743 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x6b8 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x898 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x7ff 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x899 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x800 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x89b 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x802 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x931 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x898 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x932 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x899 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x936 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x89d 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x937 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x89e 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x938 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x89f 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x9c7 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x92e 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x9c8 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x92f 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x9ca 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x931 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x9cd 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x934 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x9ce 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x935 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xa90 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x9f7 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xa95 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x9fc 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xa97 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x9fe 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xc15 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xb7e 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xc16 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xb7f 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xc17 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xb80 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xc1a 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xb83 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xc1c 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xb85 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xce9 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xc54 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xcea 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xc55 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xced 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xc58 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xcee 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xc59 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xcf2 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xc5d 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xd3c 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xca7 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xd3d 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xca8 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xd3f 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xcaa 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xd42 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xcad 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xd43 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xcae 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xdf1 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xd5c 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xdf6 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xd61 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xdf8 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xd63 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xf55 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xec2 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xf56 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xec3 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xf57 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xec4 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xf5a 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xec7 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xf5c 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xec9 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(70,17): warning C4189: “m_socket”: 局部变量已初始化但不引用 C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\scan_run.cpp(62,17): warning C4189: “m_socket”: 局部变量已初始化但不引用
ip_sacaner.vcxproj -> C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\debug\ip_sacaner.exe ip_sacaner.vcxproj -> C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\debug\ip_sacaner.exe
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
View File
@@ -8,6 +8,7 @@
#include <memory> #include <memory>
#include "../widget.h" #include "../widget.h"
#include <QtGui/qtextcursor.h>
#include <QtCore/qbytearray.h> #include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h> #include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION) #if !defined(Q_MOC_OUTPUT_REVISION)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+49 -89
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 6.0.1, 2022-01-03T01:26:09. --> <!-- Written by QtCreator 6.0.1, 2022-01-03T13:39:55. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>
@@ -91,96 +91,16 @@
<variable>ProjectExplorer.Project.Target.0</variable> <variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap"> <valuemap type="QVariantMap">
<value type="QString" key="DeviceType">Desktop</value> <value type="QString" key="DeviceType">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 6.2.2 MinGW 64-bit</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 6.2.2 MSVC2019 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 6.2.2 MinGW 64-bit</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 6.2.2 MSVC2019 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt6.622.win64_mingw_kit</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt6.622.win64_msvc2019_64_kit</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value> <value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> <value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> <value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="int" key="EnableQmlDebugging">0</value> <value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\wuwen\Desktop\tcp_ip_scan\build-ip_sacaner-Desktop_Qt_6_2_2_MinGW_64_bit-Debug</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\wuwen\Desktop\tcp_ip_scan\build-C:UserswuwenDesktopu0009cp_ip_scanip_sacanerip_sacaner-Desktop_Qt_6_2_2_MSVC2019_64bit-Profile</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">C:/Users/wuwen/Desktop/tcp_ip_scan/build-ip_sacaner-Desktop_Qt_6_2_2_MinGW_64_bit-Debug</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">C:/Users/wuwen/Desktop/tcp_ip_scan/build-C:UserswuwenDesktopu0009cp_ip_scanip_sacanerip_sacaner-Desktop_Qt_6_2_2_MSVC2019_64bit-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\wuwen\Desktop\tcp_ip_scan\build-ip_sacaner-Desktop_Qt_6_2_2_MinGW_64_bit-Release</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">C:/Users/wuwen/Desktop/tcp_ip_scan/build-ip_sacaner-Desktop_Qt_6_2_2_MinGW_64_bit-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">0</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\wuwen\Desktop\tcp_ip_scan\build-ip_sacaner-Desktop_Qt_6_2_2_MinGW_64_bit-Profile</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">C:/Users/wuwen/Desktop/tcp_ip_scan/build-ip_sacaner-Desktop_Qt_6_2_2_MinGW_64_bit-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@@ -219,7 +139,47 @@
<value type="int" key="QtQuickCompiler">0</value> <value type="int" key="QtQuickCompiler">0</value>
<value type="int" key="SeparateDebugInfo">0</value> <value type="int" key="SeparateDebugInfo">0</value>
</valuemap> </valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">3</value> <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\wuwen\Desktop\tcp_ip_scan\build-ip_sacaner-Desktop_Qt_6_2_2_MSVC2019_64bit-1</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">C:/Users/wuwen/Desktop/tcp_ip_scan/build-ip_sacaner-Desktop_Qt_6_2_2_MSVC2019_64bit-1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
@@ -247,7 +207,7 @@
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value> <value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">C:/Users/wuwen/Desktop/tcp_ip_scan/build-ip_sacaner-Desktop_Qt_6_2_2_MinGW_64_bit-Debug</value> <value type="QString" key="RunConfiguration.WorkingDirectory.default">C:/Users/wuwen/Desktop/tcp_ip_scan/build-ip_sacaner-Desktop_Qt_6_2_2_MSVC2019_64bit-1</value>
</valuemap> </valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value> <value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap> </valuemap>
+137 -6
View File
@@ -1,13 +1,144 @@
#include "scan_run.h" #include "scan_run.h"
#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
QString ipv4int_to_str(quint32 ipint)
{
return QString("%1.%2.%3.%4")
.arg((ipint >> 24) & 0xff)
.arg((ipint >> 16) & 0xff)
.arg((ipint >> 8) & 0xff)
.arg(ipint & 0xff);
}
quint32 ipv4str_to_int(const QString& ipstr)
{
QStringList ip4 = ipstr.split(".");
if (ip4.size() == 4)
{
return ip4.at(3).toInt()
| ip4.at(2).toInt() << 8
| ip4.at(1).toInt() << 16
| ip4.at(0).toInt() << 24;
}
else
{
return 0;
}
}
void scan_run::ip_scan(const QString& ipstr, quint32 ipint)
{
qDebug() << ipstr << ":" << ipint;
if (ipint != 0 && ipstr != "")
{
//qDebug() << ipstr << ":" << ipint;
QTcpSocket* m_socket = new QTcpSocket;
m_socket->connectToHost(ipstr, ipint, QTcpSocket::ReadWrite);
connect(m_socket, &QTcpSocket::connected, [=]
{
QString ip = ipstr;// m_socket->peerAddress().toString();
quint16 port = ipint;// m_socket->peerPort();
qDebug() << ip << ":" << port;
QString temp = QString("%1:%2").arg(ip).arg(port);
output_list->append(temp);
m_socket->disconnectFromHost();
m_socket->disconnect();
//delete m_socket;
});
}
}
void scan_run::tray_scan()
{
//qDebug()<< ui->IP_list->toPlainText();
QTcpSocket* m_socket = new QTcpSocket;
QStringList str_ip_list = ip_list->toPlainText().split("\n"); //先以行分割
QStringList str_ips_list; //再以段分割
QStringList str_port_list = port_list->toPlainText().split("\n");
QStringList str_ports_list;
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)
{
//ip段模式
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++)//取出每一个ip
{
//qDebug() << ipv4int_to_str(ips);
for (quint16 ii = 0; ii < str_port_list.size(); ii++)//分离端口
{
str_ports_list = str_port_list.at(ii).split("-");
if (str_ports_list.size() > 1)
{
//端口段模式
for (quint16 prots = str_ports_list.at(0).toInt(); prots < str_ports_list.at(str_ports_list.size() - 1).toInt() + 1; prots++)
{
scan_run::ip_scan(ipv4int_to_str(ips), prots);
}
}
else
{
//单端口模式
scan_run::ip_scan(ipv4int_to_str(ips), str_ports_list.at(0).toInt());
}
}
}
}
else
{
//单ip或域名模式
for (quint16 ii = 0; ii < str_port_list.size(); ii++)//分离端口
{
str_ports_list = str_port_list.at(ii).split("-");
if (str_ports_list.size() > 1)
{
//端口段模式
for (quint16 prots = str_ports_list.at(0).toInt(); prots < str_ports_list.at(str_ports_list.size() - 1).toInt() + 1; prots++)
{
scan_run::ip_scan(str_ips_list.at(0), prots);
}
}
else
{
//单端口模式
scan_run::ip_scan(str_ips_list.at(0), str_ports_list.at(0).toInt());
}
}
}
//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;
//}
}
}
void scan_run::run() void scan_run::run()
{ {
//Widget::tray_scan(); scan_run::tray_scan();
//ui->outputlist->append("1");
//Widget::test();
} }
+15 -1
View File
@@ -2,14 +2,28 @@
#define SCAN_RUN_H #define SCAN_RUN_H
#include <QThread> #include <QThread>
#include "widget.h"
#include "ui_widget.h"
#include <QTextEdit>
#include <QDebug>
#include <QTcpSocket> //socket
class scan_run : public QThread class scan_run : public QThread
{ {
public: public:
QTextEdit* ip_list;
QTextEdit* port_list;
QTextEdit* output_list;
void tray_scan();
void ip_scan(const QString& ipstr, quint32 ipint);
protected: protected:
void run(); void run();
}; };
#endif // SCAN_RUN_H #endif // SCAN_RUN_H
+16 -139
View File
@@ -1,155 +1,18 @@
#include "widget.h" #include "widget.h"
#include "ui_widget.h" #include "ui_widget.h"
#include <QDebug>
#include <QTcpSocket> //socket
#include "scan_run.h"
void Widget::tcp_connected()
{
qDebug() << "connected";
}
QString ipv4int_to_str(quint32 ipint)
{
return QString("%1.%2.%3.%4")
.arg((ipint >> 24) & 0xff)
.arg((ipint >> 16) & 0xff)
.arg((ipint >> 8) & 0xff)
.arg(ipint & 0xff);
}
quint32 ipv4str_to_int(const QString &ipstr)
{
QStringList ip4 = ipstr.split(".");
if (ip4.size() == 4)
{
return ip4.at(3).toInt()
| ip4.at(2).toInt() << 8
| ip4.at(1).toInt() << 16
| ip4.at(0).toInt() << 24;
}
else
{
return 0;
}
}
void Widget::ip_scan(const QString& ipstr, quint32 ipint)
{
if (ipint != 0 && ipstr!="")
{
//qDebug() << ipstr << ":" << ipint;
QTcpSocket* m_socket=new QTcpSocket(this);
m_socket->connectToHost(ipstr, ipint, QTcpSocket::ReadWrite);
connect(m_socket, &QTcpSocket::connected, [=]
{
QString ip = ipstr;// m_socket->peerAddress().toString();
quint16 port = ipint;// m_socket->peerPort();
qDebug() << ip << ":" << port;
QString temp = QString("%1:%2").arg(ip).arg(port);
ui->outputlist->append(temp);
m_socket->disconnectFromHost();
m_socket->disconnect();
//delete m_socket;
});
}
}
void Widget::tray_scan()
{
//qDebug()<< ui->IP_list->toPlainText();
QTcpSocket* m_socket = new QTcpSocket;
QStringList str_ip_list = ui->IP_list->toPlainText().split("\n"); //先以行分割
QStringList str_ips_list; //再以段分割
QStringList str_port_list = ui->port_list->toPlainText().split("\n");
QStringList str_ports_list;
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)
{
//ip段模式
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++)//取出每一个ip
{
//qDebug() << ipv4int_to_str(ips);
for (quint16 ii = 0; ii < str_port_list.size(); ii++)//分离端口
{
str_ports_list = str_port_list.at(ii).split("-");
if (str_ports_list.size() > 1)
{
//端口段模式
for (quint16 prots = str_ports_list.at(0).toInt(); prots < str_ports_list.at(str_ports_list.size() - 1).toInt() + 1; prots++)
{
Widget::ip_scan(ipv4int_to_str(ips), prots);
}
}
else
{
//单端口模式
Widget::ip_scan(ipv4int_to_str(ips), str_ports_list.at(0).toInt());
}
}
}
}
else
{
//单ip或域名模式
for (quint16 ii = 0; ii < str_port_list.size(); ii++)//分离端口
{
str_ports_list = str_port_list.at(ii).split("-");
if (str_ports_list.size() > 1)
{
//端口段模式
for (quint16 prots = str_ports_list.at(0).toInt(); prots < str_ports_list.at(str_ports_list.size() - 1).toInt() + 1; prots++)
{
Widget::ip_scan(str_ips_list.at(0), prots);
}
}
else
{
//单端口模式
Widget::ip_scan(str_ips_list.at(0), str_ports_list.at(0).toInt());
}
}
}
//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;
//}
}
}
void Widget::auto_edit() void Widget::auto_edit()
{ {
//qDebug("%d",rand()); //qDebug("%d",rand());
} }
void Widget::test()
{
qDebug() << "Test";
//Widget::tray_scan();
}
Widget::Widget(QWidget *parent) Widget::Widget(QWidget *parent)
: QWidget(parent) : QWidget(parent)
@@ -159,9 +22,23 @@ Widget::Widget(QWidget *parent)
//qDebug("hello world"); //qDebug("hello world");
scan_run *scan_thread=new scan_run; QThread* pt;
pt = new QThread(this);
connect(ui->stard_scan, &QPushButton::pressed, [=]() {scan_thread->start(); });//'scan button pass' scan_run *mt;
mt = new scan_run;
mt->ip_list = ui->IP_list;
mt->port_list = ui->port_list;
mt->output_list = ui->outputlist;
mt->moveToThread(pt);
connect(ui->stard_scan, &QPushButton::pressed, [=]()
{
//tray_scan();
mt->start();
});//'scan button pass'
connect(ui->IP_list,&QTextEdit::textChanged,this, &Widget::auto_edit); connect(ui->IP_list,&QTextEdit::textChanged,this, &Widget::auto_edit);
+14 -9
View File
@@ -2,6 +2,12 @@
#define WIDGET_H #define WIDGET_H
#include <QWidget> #include <QWidget>
#include <QDebug>
#include <QTextEdit>
#include "scan_run.h"
#include <QThread>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
namespace Ui { class Widget; } namespace Ui { class Widget; }
@@ -15,17 +21,16 @@ public:
Widget(QWidget *parent = nullptr); Widget(QWidget *parent = nullptr);
~Widget(); ~Widget();
void tray_scan();
void ip_scan(const QString& ipstr, quint32 ipint);
void auto_edit(); void auto_edit();
void tcp_connected();
void test();
static Widget* pthis;
Ui::Widget* ui;
private: private:
Ui::Widget *ui;
}; };
#endif // WIDGET_H #endif // WIDGET_H