1
/***************************************************************************
2
* Copyright (C) 2011 by Francesco Cecconi *
3
* francesco.cecconi@gmail.com *
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. *
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. *
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
***************************************************************************/
23
void nmapClass::restoreGlobalProfile()
25
// global profile options
26
QSettings settings("nmapsi4", "nmapsi4_gprofile");
28
// **************** Start Scan section ********************************
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();
38
comboScan->setCurrentIndex(comboScanIndex_);
40
else if (comboScanIndex_ < 4)
42
comboScan->setCurrentIndex(comboScanIndex_);
46
// isn't admin and not valid profile
47
comboScan->setCurrentIndex(0);
50
portEdit->setText(settings.value("scan/ports_value").toString());
51
bounceEdit->setText(settings.value("scan/bounce_host").toString());
56
checkOS->setChecked(settings.value("scan/os_detection").toBool());
58
// **************** End Scan section **********************************
60
// **************** Start Options section *****************************
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());
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());
79
// **************** End Options section **********************************
81
// **************** Start Discover section *****************************
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());
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());
96
// **************** End Discover section **********************************
98
// **************** Start Timing section *****************************
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 **********************************
121
void nmapClass::saveGlobalProfile()
123
globalProfile = true;
125
// global profile options
126
QSettings settings("nmapsi4", "nmapsi4_gprofile");
127
removeGlobalButton->setEnabled(true);
129
// **************** Start Scan section ********************************
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());
141
settings.setValue("scan/os_detection", checkOS->isChecked());
143
// **************** End Scan section **********************************
145
// **************** Start Options section *****************************
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());
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());
164
// **************** End Options section **********************************
166
// **************** Start Discover section *****************************
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());
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());
181
// **************** End Discover section **********************************
183
// **************** Start Timing section *****************************
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 **********************************
205
void nmapClass::removeGlobalProfile()
207
QSettings settings("nmapsi4", "nmapsi4");
208
removeGlobalButton->setEnabled(false);
209
globalProfile = false;
210
settings.setValue("globalProfile",globalProfile);