多线程搞不定
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -1,51 +1,51 @@
|
||||
widget.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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x6e3 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x6e7 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x73a 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x73e 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x898 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x89b 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x932 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x937 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x9c7 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x9ca 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x9ce 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xa95 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xc15 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xc17 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xc1c 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xcea 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xcee 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xd3c 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xd3f 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xd43 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xdf6 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xf55 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xf57 处开始的字符,该字符在当前源字符集中无效(代码页 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\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xf5c 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
|
||||
C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(70,17): warning C4189: “m_socket”: 局部变量已初始化但不引用
|
||||
scan_run.cpp
|
||||
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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x658 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x65c 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x6af 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x6b3 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x7ff 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x802 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x899 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x89e 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x92e 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x931 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x935 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0x9fc 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xb7e 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xb80 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xb85 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xc55 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xc59 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xca7 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xcaa 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xcae 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xd61 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xec2 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xec4 处开始的字符,该字符在当前源字符集中无效(代码页 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\scan_run.cpp(1,1): warning C4828: 文件包含在偏移 0xec9 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。
|
||||
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
|
||||
|
||||
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.
Binary file not shown.
@@ -8,6 +8,7 @@
|
||||
|
||||
#include <memory>
|
||||
#include "../widget.h"
|
||||
#include <QtGui/qtextcursor.h>
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!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>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
@@ -91,96 +91,16 @@
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<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.DisplayName">Desktop Qt 6.2.2 MinGW 64-bit</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt6.622.win64_mingw_kit</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</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 MSVC2019 64bit</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt6.622.win64_msvc2019_64_kit</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.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<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.shadowDir">C:/Users/wuwen/Desktop/tcp_ip_scan/build-ip_sacaner-Desktop_Qt_6_2_2_MinGW_64_bit-Debug</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>
|
||||
<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-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>
|
||||
@@ -219,7 +139,47 @@
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
<value type="int" key="SeparateDebugInfo">0</value>
|
||||
</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.BuildConfiguration.BuildStepList.0">
|
||||
<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.UseQmlDebugger">false</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>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
|
||||
+137
-6
@@ -1,13 +1,144 @@
|
||||
#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()
|
||||
{
|
||||
//Widget::tray_scan();
|
||||
//ui->outputlist->append("1");
|
||||
//Widget::test();
|
||||
scan_run::tray_scan();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+15
-1
@@ -2,14 +2,28 @@
|
||||
#define SCAN_RUN_H
|
||||
|
||||
#include <QThread>
|
||||
|
||||
#include "widget.h"
|
||||
#include "ui_widget.h"
|
||||
#include <QTextEdit>
|
||||
#include <QDebug>
|
||||
#include <QTcpSocket> //socket
|
||||
|
||||
class scan_run : public QThread
|
||||
{
|
||||
public:
|
||||
|
||||
QTextEdit* ip_list;
|
||||
QTextEdit* port_list;
|
||||
QTextEdit* output_list;
|
||||
|
||||
void tray_scan();
|
||||
void ip_scan(const QString& ipstr, quint32 ipint);
|
||||
|
||||
protected:
|
||||
void run();
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // SCAN_RUN_H
|
||||
|
||||
+16
-139
@@ -1,155 +1,18 @@
|
||||
#include "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()
|
||||
{
|
||||
//qDebug("%d",rand());
|
||||
}
|
||||
|
||||
void Widget::test()
|
||||
{
|
||||
qDebug() << "Test";
|
||||
//Widget::tray_scan();
|
||||
}
|
||||
|
||||
Widget::Widget(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
@@ -159,9 +22,23 @@ Widget::Widget(QWidget *parent)
|
||||
|
||||
//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);
|
||||
|
||||
|
||||
|
||||
+14
-9
@@ -2,6 +2,12 @@
|
||||
#define WIDGET_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <QDebug>
|
||||
#include <QTextEdit>
|
||||
|
||||
|
||||
#include "scan_run.h"
|
||||
#include <QThread>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
namespace Ui { class Widget; }
|
||||
@@ -15,17 +21,16 @@ public:
|
||||
Widget(QWidget *parent = nullptr);
|
||||
~Widget();
|
||||
|
||||
void tray_scan();
|
||||
void ip_scan(const QString& ipstr, quint32 ipint);
|
||||
|
||||
void auto_edit();
|
||||
void tcp_connected();
|
||||
|
||||
void test();
|
||||
|
||||
static Widget* pthis;
|
||||
|
||||
|
||||
|
||||
Ui::Widget* ui;
|
||||
private:
|
||||
Ui::Widget *ui;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // WIDGET_H
|
||||
|
||||
Reference in New Issue
Block a user