diff --git a/ip_sacaner/debug/ip_sacaner.exe b/ip_sacaner/debug/ip_sacaner.exe index 84b0747..6780ef6 100644 Binary files a/ip_sacaner/debug/ip_sacaner.exe and b/ip_sacaner/debug/ip_sacaner.exe differ diff --git a/ip_sacaner/debug/ip_sacaner.ilk b/ip_sacaner/debug/ip_sacaner.ilk index 0892740..5684487 100644 Binary files a/ip_sacaner/debug/ip_sacaner.ilk and b/ip_sacaner/debug/ip_sacaner.ilk differ diff --git a/ip_sacaner/debug/ip_sacaner.log b/ip_sacaner/debug/ip_sacaner.log index f1b8896..7f55f48 100644 --- a/ip_sacaner/debug/ip_sacaner.log +++ b/ip_sacaner/debug/ip_sacaner.log @@ -1,2 +1,51 @@  widget.cpp +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x3b9 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x3bb 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x3bd 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x3bf 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x3c2 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x412 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x414 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x416 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x41b 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x570 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x571 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x573 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x609 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x60a 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x60e 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x60f 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x610 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x69f 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x6a0 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x6a2 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x6a5 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x6a6 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x768 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x76d 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x76f 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x8ea 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x8eb 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x8ec 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x8ef 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x8f1 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x9bb 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x9bc 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x9bf 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x9c0 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0x9c4 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xa0e 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xa0f 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xa11 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xa14 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xa15 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xac3 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xac8 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xaca 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xc23 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xc24 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xc25 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xc28 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(1,1): warning C4828: 文件包含在偏移 0xc2a 处开始的字符,该字符在当前源字符集中无效(代码页 65001)。 +C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\widget.cpp(44,17): warning C4189: “m_socket”: 局部变量已初始化但不引用 ip_sacaner.vcxproj -> C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner\debug\ip_sacaner.exe diff --git a/ip_sacaner/debug/ip_sacaner.pdb b/ip_sacaner/debug/ip_sacaner.pdb index d6a2d11..84a3226 100644 Binary files a/ip_sacaner/debug/ip_sacaner.pdb and b/ip_sacaner/debug/ip_sacaner.pdb differ diff --git a/ip_sacaner/debug/ip_sacaner.tlog/ip_sacaner.write.1u.tlog b/ip_sacaner/debug/ip_sacaner.tlog/ip_sacaner.write.1u.tlog index c1593ec..75a610f 100644 Binary files a/ip_sacaner/debug/ip_sacaner.tlog/ip_sacaner.write.1u.tlog and b/ip_sacaner/debug/ip_sacaner.tlog/ip_sacaner.write.1u.tlog differ diff --git a/ip_sacaner/debug/qt_work.log b/ip_sacaner/debug/qt_work.log index 22f6290..374e2fe 100644 Binary files a/ip_sacaner/debug/qt_work.log and b/ip_sacaner/debug/qt_work.log differ diff --git a/ip_sacaner/debug/vc143.pdb b/ip_sacaner/debug/vc143.pdb index 27c2d2c..78fdef6 100644 Binary files a/ip_sacaner/debug/vc143.pdb and b/ip_sacaner/debug/vc143.pdb differ diff --git a/ip_sacaner/debug/widget.obj b/ip_sacaner/debug/widget.obj index 4b8fd46..2ce6f54 100644 Binary files a/ip_sacaner/debug/widget.obj and b/ip_sacaner/debug/widget.obj differ diff --git a/ip_sacaner/ip_sacaner.vcxproj.user b/ip_sacaner/ip_sacaner.vcxproj.user index 7c324dc..0bc10d3 100644 --- a/ip_sacaner/ip_sacaner.vcxproj.user +++ b/ip_sacaner/ip_sacaner.vcxproj.user @@ -2,9 +2,9 @@ - 2022-01-01T13:25:57.2508858Z + 2022-01-02T05:17:50.4661434Z - 2022-01-01T13:25:57.7549971Z + 2022-01-02T05:17:50.7101433Z \ No newline at end of file diff --git a/ip_sacaner/release/qt_work.log b/ip_sacaner/release/qt_work.log index 0cfd8d2..60474d0 100644 Binary files a/ip_sacaner/release/qt_work.log and b/ip_sacaner/release/qt_work.log differ diff --git a/ip_sacaner/ui_widget.h b/ip_sacaner/ui_widget.h index b61784e..49a2140 100644 --- a/ip_sacaner/ui_widget.h +++ b/ip_sacaner/ui_widget.h @@ -46,7 +46,7 @@ public: port_list->setGeometry(QRect(500, 100, 91, 111)); label_3 = new QLabel(Widget); label_3->setObjectName(QString::fromUtf8("label_3")); - label_3->setGeometry(QRect(510, 30, 61, 61)); + label_3->setGeometry(QRect(510, 30, 71, 61)); stard_scan = new QPushButton(Widget); stard_scan->setObjectName(QString::fromUtf8("stard_scan")); stard_scan->setGeometry(QRect(420, 220, 171, 41)); @@ -84,7 +84,8 @@ public: { Widget->setWindowTitle(QCoreApplication::translate("Widget", "Widget", nullptr)); label_3->setText(QCoreApplication::translate("Widget", "\347\253\257\345\217\243\350\214\203\345\233\264\n" -"80,443\n" +"80\n" +"443\n" "3000-65535", nullptr)); stard_scan->setText(QCoreApplication::translate("Widget", "\345\274\200\345\247\213\346\211\253\346\217\217", nullptr)); label_4->setText(QCoreApplication::translate("Widget", "\347\272\277\347\250\213", nullptr)); diff --git a/ip_sacaner/widget.cpp b/ip_sacaner/widget.cpp index 93db5c7..37ca39b 100644 --- a/ip_sacaner/widget.cpp +++ b/ip_sacaner/widget.cpp @@ -1,30 +1,116 @@ #include "widget.h" #include "ui_widget.h" #include -#include //通信套接字 +#include //socket void Widget::tcp_connected() { - //qDebug() << "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::tray_scan() { qDebug()<< "try_scan"; - qDebug()<< ui->IP_list->toPlainText(); - - //QString text = ui->IP_list->toPlainText(); - QStringList number_list = ui->IP_list->toPlainText().split("\n"); - for (int i = 0; i < number_list.size(); ++i) - { - qDebug() << number_list.at(i); - } - - //QTcpSocket* m_socket = new QTcpSocket; - //m_socket->connectToHost("127.0.0.1", 58888, QTcpSocket::ReadWrite); - //connect(m_socket, &QTcpSocket::connected, this, &Widget::tcp_connected); + //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++) + { + qDebug() << ipv4int_to_str(ips) << prots; + } + } + else + { + //˿ģʽ + qDebug() << 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++) + { + qDebug() <connectToHost(str_ips_list.at(0), str_port_list.at(0).toInt(), QTcpSocket::ReadWrite); + //connect(m_socket, &QTcpSocket::connected, this, &Widget::tcp_connected); + } + + + + //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; + //} + + } + + } @@ -43,7 +129,7 @@ Widget::Widget(QWidget *parent) //qDebug("hello world"); - connect(ui->stard_scan,&QPushButton::pressed,this, &Widget::tray_scan);//扫描按钮被按下 + connect(ui->stard_scan,&QPushButton::pressed,this, &Widget::tray_scan);//'scan button pass' connect(ui->IP_list,&QTextEdit::textChanged,this, &Widget::auto_edit); diff --git a/ip_sacaner/widget.ui b/ip_sacaner/widget.ui index 4ab740e..17069dc 100644 --- a/ip_sacaner/widget.ui +++ b/ip_sacaner/widget.ui @@ -40,13 +40,14 @@ 510 30 - 61 + 71 61 端口范围 -80,443 +80 +443 3000-65535