mirror of
https://github.com/nmap/nmap.git
synced 2026-08-04 14:49:29 +00:00
Consolidate TCP options for SYN into nmap.h
This commit is contained in:
parent
03a67a7799
commit
0f371d701a
4 changed files with 18 additions and 14 deletions
20
idle_scan.cc
20
idle_scan.cc
|
|
@ -282,7 +282,7 @@ static int ipid_proxy_probe(struct idle_proxy_info *proxy, int *probes_sent,
|
|||
o.ipoptions, o.ipoptionslen,
|
||||
base_port + tries, proxy->probe_port,
|
||||
seq_base + (packet_send_count++ * 500) + 1, ack, 0, TH_SYN | TH_ACK, 0, 0,
|
||||
(u8 *) "\x02\x04\x05\xb4", 4,
|
||||
(u8 *) TCP_SYN_PROBE_OPTIONS, TCP_SYN_PROBE_OPTIONS_LEN,
|
||||
NULL, 0);
|
||||
else {
|
||||
ipv6_packet = build_tcp_raw_ipv6(proxy->host.v6sourceip(), proxy->host.v6hostip(),
|
||||
|
|
@ -290,7 +290,7 @@ static int ipid_proxy_probe(struct idle_proxy_info *proxy, int *probes_sent,
|
|||
o.ttl,
|
||||
base_port + tries, proxy->probe_port,
|
||||
seq_base + (packet_send_count++ * 500) + 1, ack, 0, TH_SYN | TH_ACK, 0, 0,
|
||||
(u8 *) "\x02\x04\x05\xb4", 4,
|
||||
(u8 *) TCP_SYN_PROBE_OPTIONS, TCP_SYN_PROBE_OPTIONS_LEN,
|
||||
NULL, 0,
|
||||
&packetlen);
|
||||
proxy->host.TargetSockAddr(&ss, &sslen);
|
||||
|
|
@ -728,7 +728,7 @@ static void initialize_idleproxy(struct idle_proxy_info *proxy, char *proxyName,
|
|||
o.ipoptions, o.ipoptionslen,
|
||||
o.magic_port + probes_sent + 1, proxy->probe_port,
|
||||
sequence_base + probes_sent + 1, ack, 0, TH_SYN | TH_ACK, 0, 0,
|
||||
(u8 *) "\x02\x04\x05\xb4", 4,
|
||||
(u8 *) TCP_SYN_PROBE_OPTIONS, TCP_SYN_PROBE_OPTIONS_LEN,
|
||||
NULL, 0);
|
||||
else if (o.af() == AF_INET6) {
|
||||
ipv6_packet = build_tcp_raw_ipv6(proxy->host.v6sourceip(), proxy->host.v6hostip(),
|
||||
|
|
@ -736,7 +736,7 @@ static void initialize_idleproxy(struct idle_proxy_info *proxy, char *proxyName,
|
|||
o.ttl,
|
||||
o.magic_port + probes_sent + 1, proxy->probe_port,
|
||||
sequence_base + probes_sent + 1, ack, 0, TH_SYN | TH_ACK, 0, 0,
|
||||
(u8 *) "\x02\x04\x05\xb4", 4,
|
||||
(u8 *) TCP_SYN_PROBE_OPTIONS, TCP_SYN_PROBE_OPTIONS_LEN,
|
||||
NULL, 0,
|
||||
&packetlen);
|
||||
res = send_ip_packet(proxy->rawsd, proxy->ethptr, &ss, ipv6_packet, packetlen);
|
||||
|
|
@ -922,16 +922,16 @@ static void initialize_idleproxy(struct idle_proxy_info *proxy, char *proxyName,
|
|||
o.ipoptions, o.ipoptionslen,
|
||||
o.magic_port, proxy->probe_port,
|
||||
sequence_base + probes_sent + 1, ack, 0, TH_SYN | TH_ACK, 0, 0,
|
||||
(u8 *) "\x02\x04\x05\xb4",
|
||||
4, NULL, 0);
|
||||
(u8 *) TCP_SYN_PROBE_OPTIONS,
|
||||
TCP_SYN_PROBE_OPTIONS_LEN, NULL, 0);
|
||||
} else {
|
||||
ipv6_packet = build_tcp_raw_ipv6(target->v6hostip(), proxy->host.v6hostip(),
|
||||
0x00, 0x0000,
|
||||
o.ttl,
|
||||
o.magic_port, proxy->probe_port,
|
||||
sequence_base + probes_sent + 1, ack, 0, TH_SYN | TH_ACK, 0, 0,
|
||||
(u8 *) "\x02\x04\x05\xb4",
|
||||
4, NULL, 0,
|
||||
(u8 *) TCP_SYN_PROBE_OPTIONS,
|
||||
TCP_SYN_PROBE_OPTIONS_LEN, NULL, 0,
|
||||
&packetlen);
|
||||
res = send_ip_packet(proxy->rawsd, proxy->ethptr, &ss, ipv6_packet, packetlen);
|
||||
if (res == -1)
|
||||
|
|
@ -1096,14 +1096,14 @@ static int idlescan_countopen2(struct idle_proxy_info *proxy,
|
|||
o.ttl, false,
|
||||
o.ipoptions, o.ipoptionslen,
|
||||
proxy->probe_port, ports[pr0be], seq, 0, 0, TH_SYN, 0, 0,
|
||||
(u8 *) "\x02\x04\x05\xb4", 4,
|
||||
(u8 *) TCP_SYN_PROBE_OPTIONS, TCP_SYN_PROBE_OPTIONS_LEN,
|
||||
o.extra_payload, o.extra_payload_length);
|
||||
} else {
|
||||
packet = build_tcp_raw_ipv6(proxy->host.v6hostip(), target->v6hostip(),
|
||||
0x00, 0x0000,
|
||||
o.ttl,
|
||||
proxy->probe_port, ports[pr0be], seq, 0, 0, TH_SYN, 0, 0,
|
||||
(u8 *) "\x02\x04\x05\xb4", 4,
|
||||
(u8 *) TCP_SYN_PROBE_OPTIONS, TCP_SYN_PROBE_OPTIONS_LEN,
|
||||
o.extra_payload, o.extra_payload_length,
|
||||
&packetlen);
|
||||
res = send_ip_packet(proxy->rawsd, eth.ethsd ? ð : NULL, &ss, packet, packetlen);
|
||||
|
|
|
|||
4
nmap.h
4
nmap.h
|
|
@ -232,6 +232,10 @@
|
|||
|
||||
#define MAXFALLBACKS 20 /* How many comma separated fallbacks are allowed in the service-probes file? */
|
||||
|
||||
/* TCP Options for TCP SYN probes: MSS 1460 */
|
||||
#define TCP_SYN_PROBE_OPTIONS "\x02\x04\x05\xb4"
|
||||
#define TCP_SYN_PROBE_OPTIONS_LEN (sizeof(TCP_SYN_PROBE_OPTIONS)-1)
|
||||
|
||||
/* Default maximum send delay between probes to the same host */
|
||||
#ifndef MAX_TCP_SCAN_DELAY
|
||||
#define MAX_TCP_SCAN_DELAY 1000
|
||||
|
|
|
|||
|
|
@ -1307,8 +1307,8 @@ UltraProbe *sendIPScanProbe(UltraScanInfo *USI, HostScanStats *hss,
|
|||
seq = seq32_encode(USI, tryno, pingseq);
|
||||
|
||||
if (pspec->pd.tcp.flags & TH_SYN) {
|
||||
tcpops = (u8 *) "\x02\x04\x05\xb4";
|
||||
tcpopslen = 4;
|
||||
tcpops = (u8 *) TCP_SYN_PROBE_OPTIONS;
|
||||
tcpopslen = TCP_SYN_PROBE_OPTIONS_LEN;
|
||||
}
|
||||
|
||||
if (hss->target->af() == AF_INET) {
|
||||
|
|
|
|||
|
|
@ -745,8 +745,8 @@ public:
|
|||
ack = 0;
|
||||
if ((pspec.pd.tcp.flags & TH_SYN) == TH_SYN) {
|
||||
/* MSS 1460 bytes. */
|
||||
tcpopts = "\x02\x04\x05\xb4";
|
||||
tcpoptslen = 4;
|
||||
tcpopts = TCP_SYN_PROBE_OPTIONS;
|
||||
tcpoptslen = TCP_SYN_PROBE_OPTIONS_LEN;
|
||||
} else if ((pspec.pd.tcp.flags & TH_ACK) == TH_ACK) {
|
||||
ack = get_random_u32();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue