~brand-nmapsi4/nmapsi4/master

« back to all changes in this revision

Viewing changes to src/platform/profile/globalProfile.cpp

  • Committer: Francesco Cecconi
  • Date: 2011-12-18 11:02:04 UTC
  • Revision ID: git-v1:60a69e132c8ffeb2727e558b2b2e8ac1713e332e
Removed nmapsi4-logr (dedicate repository) but it could be deprecated.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/***************************************************************************
 
2
 *   Copyright (C) 2011 by Francesco Cecconi                               *
 
3
 *   francesco.cecconi@gmail.com                                           *
 
4
 *                                                                         *
 
5
 *   This program is free software; you can redistribute it and/or modify  *
 
6
 *   it under the terms of the GNU General Public License as published by  *
 
7
 *   the Free Software Foundation; either version 2 of the License.        *
 
8
 *                                                                         *
 
9
 *   This program is distributed in the hope that it will be useful,       *
 
10
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 
11
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 
12
 *   GNU General Public License for more details.                          *
 
13
 *                                                                         *
 
14
 *   You should have received a copy of the GNU General Public License     *
 
15
 *   along with this program; if not, write to the                         *
 
16
 *   Free Software Foundation, Inc.,                                       *
 
17
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 
18
 ***************************************************************************/
 
19
 
 
20
#include "mainwin.h"
 
21
 
 
22
 
 
23
void nmapClass::restoreGlobalProfile() 
 
24
{
 
25
    // global profile options
 
26
    QSettings settings("nmapsi4", "nmapsi4_gprofile");
 
27
    
 
28
    // **************** Start Scan section ********************************
 
29
    //  user mode 
 
30
    rpcBox->setChecked(settings.value("scan/rpc_scan").toBool());
 
31
    notpingBox->setChecked(settings.value("scan/dont_ping").toBool());
 
32
    versionBox->setChecked(settings.value("scan/version_probe").toBool());
 
33
    portCombo->setCurrentIndex(settings.value("scan/port_range").toInt());
 
34
    int comboScanIndex_ = settings.value("scan/scan_type").toInt();
 
35
    
 
36
    if (!uid) 
 
37
    {
 
38
        comboScan->setCurrentIndex(comboScanIndex_);
 
39
    } 
 
40
    else if (comboScanIndex_ < 4) 
 
41
    {
 
42
        comboScan->setCurrentIndex(comboScanIndex_);
 
43
    } 
 
44
    else 
 
45
    {
 
46
        // isn't admin and not valid profile
 
47
        comboScan->setCurrentIndex(0);
 
48
    }
 
49
    
 
50
    portEdit->setText(settings.value("scan/ports_value").toString());
 
51
    bounceEdit->setText(settings.value("scan/bounce_host").toString());
 
52
    
 
53
    //  admin mode
 
54
    if (!uid) 
 
55
    {
 
56
        checkOS->setChecked(settings.value("scan/os_detection").toBool());
 
57
    }
 
58
    // **************** End Scan section **********************************
 
59
    
 
60
    // **************** Start Options section *****************************
 
61
    //  user mode
 
62
    comboVerbosity->setCurrentIndex(settings.value("options/verbosity_combo").toInt());
 
63
    comboDNSResolv->setCurrentIndex(settings.value("options/dnsresolution_combo").toInt());
 
64
    checkOrdered->setChecked(settings.value("options/orderdport_checl").toBool());
 
65
    checkIpv6->setChecked(settings.value("options/ipv6_check").toBool());
 
66
    checkBoxDevice->setChecked(settings.value("options/specificdevice_check").toBool());
 
67
    checkSpoof->setChecked(settings.value("options/spoofaddress_check").toBool());
 
68
    OlineDevice->setText(settings.value("options/specificdevice_line").toString());
 
69
    lineEditSpoof->setText(settings.value("options/spoofaddress_line").toString());
 
70
    //  admin mode
 
71
    if (!uid) 
 
72
    {
 
73
        checkFrag->setChecked(settings.value("options/fragmentation").toBool());
 
74
        checkDecoy->setChecked(settings.value("options/decoy_check").toBool());
 
75
        checkSourcePort->setChecked(settings.value("options/sourceport_check").toBool());
 
76
        lineDecoy->setText(settings.value("options/decoy_line").toString());
 
77
        lineSourcePort->setText(settings.value("options/sourceport_line").toString());
 
78
    }
 
79
    // **************** End Options section **********************************
 
80
    
 
81
    // **************** Start Discover section *****************************
 
82
    //  user mode
 
83
    checkTcpPing->setChecked(settings.value("discover/tcpack_ping").toBool());
 
84
    lineTcpPing->setText(settings.value("discover/tcpack_line").toString());
 
85
    checkTcpSyn->setChecked(settings.value("discover/tcpsyn_ping").toBool());
 
86
    lineSynPing->setText(settings.value("discover/tcpsyn_line").toString());
 
87
    //  admin mode
 
88
    if (!uid) 
 
89
    {
 
90
        checkIcmpTimestamp->setChecked(settings.value("discover/icmp_timestamp").toBool());
 
91
        checkIcmpNetmask->setChecked(settings.value("discover/icmp_netmask").toBool());
 
92
        checkIcmpEcho->setChecked(settings.value("discover/icmp_echo").toBool());
 
93
        checkUdpPing->setChecked(settings.value("discover/udp_ping").toBool());
 
94
        lineUdpPing->setText(settings.value("discover/udpping_line").toString());
 
95
    }
 
96
    // **************** End Discover section **********************************
 
97
    
 
98
    // **************** Start Timing section *****************************
 
99
    //  user mode 
 
100
    TcheckIpv4ttl->setChecked(settings.value("timing/ipv4_ttl").toBool());
 
101
    spinBoxIpv4ttl->setValue(settings.value("timing/ipv4ttl_spinbox").toInt());
 
102
    TcheckMinPar->setChecked(settings.value("timing/min_parallel").toBool());
 
103
    TspinBoxMinP->setValue(settings.value("timing/minparallel_spinbox").toInt());
 
104
    TcheckMaxPar->setChecked(settings.value("timing/max_parallel").toBool());
 
105
    spinBoxMaxPar->setValue(settings.value("timing/maxparallel_spinbox").toInt());
 
106
    TcheckInitRtt->setChecked(settings.value("timing/initial_rtt").toBool());
 
107
    spinBoxInitRtt->setValue(settings.value("timing/initialrtt_spinbox").toInt());
 
108
    TcheckMinRtt->setChecked(settings.value("timing/min_rtt").toBool());
 
109
    spinBoxMinRtt->setValue(settings.value("timing/minrtt_spinbox").toInt());
 
110
    TcheckMaxRtt->setChecked(settings.value("timing/max_rtt").toBool());
 
111
    spinBoxMaxRtt->setValue(settings.value("timing/maxrtt_spinbox").toInt());
 
112
    TcheckHostTime->setChecked(settings.value("timing/host_timeout").toBool());
 
113
    spinBoxHostTime->setValue(settings.value("timing/hosttime_spinbox").toInt());
 
114
    TcheckScanDelay->setChecked(settings.value("timing/scan_delay").toBool());
 
115
    spinBoxScanDelay->setValue(settings.value("timing/scandelay_spinbox").toInt());
 
116
    comboTiming->setCurrentIndex(settings.value("timing/timing_combo").toInt());
 
117
    // **************** End Timing section **********************************
 
118
 
 
119
}
 
120
 
 
121
void nmapClass::saveGlobalProfile() 
 
122
{
 
123
    globalProfile = true;
 
124
    
 
125
    // global profile options
 
126
    QSettings settings("nmapsi4", "nmapsi4_gprofile");
 
127
    removeGlobalButton->setEnabled(true);
 
128
    
 
129
    // **************** Start Scan section ********************************
 
130
    //  user mode 
 
131
    settings.setValue("scan/rpc_scan", rpcBox->isChecked());
 
132
    settings.setValue("scan/dont_ping", notpingBox->isChecked());
 
133
    settings.setValue("scan/version_probe", versionBox->isChecked());
 
134
    settings.setValue("scan/port_range", portCombo->currentIndex());
 
135
    settings.setValue("scan/scan_type", comboScan->currentIndex());
 
136
    settings.setValue("scan/ports_value", portEdit->text());
 
137
    settings.setValue("scan/bounce_host", bounceEdit->text());
 
138
    //  admin mode
 
139
    if (!uid) 
 
140
    {
 
141
        settings.setValue("scan/os_detection", checkOS->isChecked());
 
142
    }
 
143
    // **************** End Scan section **********************************
 
144
    
 
145
    // **************** Start Options section *****************************
 
146
    //  user mode 
 
147
    settings.setValue("options/verbosity_combo", comboVerbosity->currentIndex());
 
148
    settings.setValue("options/dnsresolution_combo", comboDNSResolv->currentIndex());
 
149
    settings.setValue("options/orderdport_checl", checkOrdered->isChecked());
 
150
    settings.setValue("options/ipv6_check", checkIpv6->isChecked());
 
151
    settings.setValue("options/specificdevice_check", checkBoxDevice->isChecked());
 
152
    settings.setValue("options/spoofaddress_check", checkSpoof->isChecked());
 
153
    settings.setValue("options/specificdevice_line", OlineDevice->text());
 
154
    settings.setValue("options/spoofaddress_line", lineEditSpoof->text());
 
155
    //  admin mode
 
156
    if (!uid) 
 
157
    {
 
158
        settings.setValue("options/fragmentation", checkFrag->isChecked());
 
159
        settings.setValue("options/decoy_check", checkDecoy->isChecked());
 
160
        settings.setValue("options/sourceport_check", checkSourcePort->isChecked());
 
161
        settings.setValue("options/decoy_line", lineDecoy->text());
 
162
        settings.setValue("options/sourceport_line", lineSourcePort->text());
 
163
    }
 
164
    // **************** End Options section **********************************
 
165
    
 
166
    // **************** Start Discover section *****************************
 
167
    //  user mode 
 
168
    settings.setValue("discover/tcpack_ping", checkTcpPing->isChecked());
 
169
    settings.setValue("discover/tcpack_line", lineTcpPing->text());
 
170
    settings.setValue("discover/tcpsyn_ping", checkTcpSyn->isChecked());
 
171
    settings.setValue("discover/tcpsyn_line", lineSynPing->text());
 
172
    //  admin mode
 
173
    if (!uid) 
 
174
    {
 
175
        settings.setValue("discover/icmp_timestamp", checkIcmpTimestamp->isChecked());
 
176
        settings.setValue("discover/icmp_netmask", checkIcmpNetmask->isChecked());
 
177
        settings.setValue("discover/icmp_echo", checkIcmpEcho->isChecked());
 
178
        settings.setValue("discover/udp_ping", checkUdpPing->isChecked());
 
179
        settings.setValue("discover/udpping_line", lineUdpPing->text());
 
180
    }
 
181
    // **************** End Discover section **********************************
 
182
    
 
183
    // **************** Start Timing section *****************************
 
184
    //  user mode 
 
185
    settings.setValue("timing/ipv4_ttl", TcheckIpv4ttl->isChecked());
 
186
    settings.setValue("timing/ipv4ttl_spinbox", spinBoxIpv4ttl->value());
 
187
    settings.setValue("timing/min_parallel", TcheckMinPar->isChecked());
 
188
    settings.setValue("timing/minparallel_spinbox", TspinBoxMinP->value());
 
189
    settings.setValue("timing/max_parallel", TcheckMaxPar->isChecked());
 
190
    settings.setValue("timing/maxparallel_spinbox", spinBoxMaxPar->value());
 
191
    settings.setValue("timing/initial_rtt", TcheckInitRtt->isChecked());
 
192
    settings.setValue("timing/initialrtt_spinbox", spinBoxInitRtt->value());
 
193
    settings.setValue("timing/min_rtt", TcheckMinRtt->isChecked());
 
194
    settings.setValue("timing/minrtt_spinbox", spinBoxMinRtt->value());
 
195
    settings.setValue("timing/max_rtt", TcheckMaxRtt->isChecked());
 
196
    settings.setValue("timing/maxrtt_spinbox", spinBoxMaxRtt->value());
 
197
    settings.setValue("timing/host_timeout", TcheckHostTime->isChecked());
 
198
    settings.setValue("timing/hosttime_spinbox", spinBoxHostTime->value());
 
199
    settings.setValue("timing/scan_delay", TcheckScanDelay->isChecked());
 
200
    settings.setValue("timing/scandelay_spinbox", spinBoxScanDelay->value());
 
201
    settings.setValue("timing/timing_combo", comboTiming->currentIndex());
 
202
    // **************** End Timing section **********************************
 
203
}
 
204
 
 
205
void nmapClass::removeGlobalProfile() 
 
206
{
 
207
    QSettings settings("nmapsi4", "nmapsi4");
 
208
    removeGlobalButton->setEnabled(false);
 
209
    globalProfile = false;
 
210
    settings.setValue("globalProfile",globalProfile);
 
211
    readProfile();
 
212
}
 
213
 
 
214