mirror of https://github.com/daffainfo/nuclei.git
Allow to set dialers' timeout and keep-alive duration (#4441)
* Allow to set dialers' timeout and keep-alive duration * docs --------- Co-authored-by: mzack <marco.rivoli.nvh@gmail.com>dev
parent
1d6890ca2f
commit
b420672b38
|
@ -193,6 +193,8 @@ CONFIGURATIONS:
|
||||||
-sml, -show-match-line show match lines for file templates, works with extractors only
|
-sml, -show-match-line show match lines for file templates, works with extractors only
|
||||||
-ztls use ztls library with autofallback to standard one for tls13 [Deprecated] autofallback to ztls is enabled by default
|
-ztls use ztls library with autofallback to standard one for tls13 [Deprecated] autofallback to ztls is enabled by default
|
||||||
-sni string tls sni hostname to use (default: input domain name)
|
-sni string tls sni hostname to use (default: input domain name)
|
||||||
|
-dt, -dialer-timeout value timeout for network requests.
|
||||||
|
-dka, -dialer-keep-alive value keep-alive duration for network requests.
|
||||||
-lfa, -allow-local-file-access allows file (payload) access anywhere on the system
|
-lfa, -allow-local-file-access allows file (payload) access anywhere on the system
|
||||||
-lna, -restrict-local-network-access blocks connections to the local / private network
|
-lna, -restrict-local-network-access blocks connections to the local / private network
|
||||||
-i, -interface string network interface to use for network scan
|
-i, -interface string network interface to use for network scan
|
||||||
|
|
|
@ -259,6 +259,8 @@ on extensive configurability, massive extensibility and ease of use.`)
|
||||||
flagSet.BoolVarP(&options.ShowMatchLine, "show-match-line", "sml", false, "show match lines for file templates, works with extractors only"),
|
flagSet.BoolVarP(&options.ShowMatchLine, "show-match-line", "sml", false, "show match lines for file templates, works with extractors only"),
|
||||||
flagSet.BoolVar(&options.ZTLS, "ztls", false, "use ztls library with autofallback to standard one for tls13 [Deprecated] autofallback to ztls is enabled by default"), //nolint:all
|
flagSet.BoolVar(&options.ZTLS, "ztls", false, "use ztls library with autofallback to standard one for tls13 [Deprecated] autofallback to ztls is enabled by default"), //nolint:all
|
||||||
flagSet.StringVar(&options.SNI, "sni", "", "tls sni hostname to use (default: input domain name)"),
|
flagSet.StringVar(&options.SNI, "sni", "", "tls sni hostname to use (default: input domain name)"),
|
||||||
|
flagSet.DurationVarP(&options.DialerTimeout, "dialer-timeout", "dt", 0, "timeout for network requests."),
|
||||||
|
flagSet.DurationVarP(&options.DialerKeepAlive, "dialer-keep-alive", "dka", 0, "keep-alive duration for network requests."),
|
||||||
flagSet.BoolVarP(&options.AllowLocalFileAccess, "allow-local-file-access", "lfa", false, "allows file (payload) access anywhere on the system"),
|
flagSet.BoolVarP(&options.AllowLocalFileAccess, "allow-local-file-access", "lfa", false, "allows file (payload) access anywhere on the system"),
|
||||||
flagSet.BoolVarP(&options.RestrictLocalNetworkAccess, "restrict-local-network-access", "lna", false, "blocks connections to the local / private network"),
|
flagSet.BoolVarP(&options.RestrictLocalNetworkAccess, "restrict-local-network-access", "lna", false, "blocks connections to the local / private network"),
|
||||||
flagSet.StringVarP(&options.Interface, "interface", "i", "", "network interface to use for network scan"),
|
flagSet.StringVarP(&options.Interface, "interface", "i", "", "network interface to use for network scan"),
|
||||||
|
|
|
@ -23,6 +23,12 @@ func Init(options *types.Options) error {
|
||||||
}
|
}
|
||||||
lfaAllowed = options.AllowLocalFileAccess
|
lfaAllowed = options.AllowLocalFileAccess
|
||||||
opts := fastdialer.DefaultOptions
|
opts := fastdialer.DefaultOptions
|
||||||
|
if options.DialerTimeout > 0 {
|
||||||
|
opts.DialerTimeout = options.DialerTimeout
|
||||||
|
}
|
||||||
|
if options.DialerKeepAlive > 0 {
|
||||||
|
opts.DialerKeepAlive = options.DialerKeepAlive
|
||||||
|
}
|
||||||
InitHeadless(options.RestrictLocalNetworkAccess, options.AllowLocalFileAccess)
|
InitHeadless(options.RestrictLocalNetworkAccess, options.AllowLocalFileAccess)
|
||||||
|
|
||||||
switch {
|
switch {
|
||||||
|
@ -98,6 +104,7 @@ func Init(options *types.Options) error {
|
||||||
}
|
}
|
||||||
opts.WithDialerHistory = true
|
opts.WithDialerHistory = true
|
||||||
opts.SNIName = options.SNI
|
opts.SNIName = options.SNI
|
||||||
|
|
||||||
// fastdialer now by default fallbacks to ztls when there are tls related errors
|
// fastdialer now by default fallbacks to ztls when there are tls related errors
|
||||||
dialer, err := fastdialer.NewDialer(opts)
|
dialer, err := fastdialer.NewDialer(opts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -270,6 +270,10 @@ type Options struct {
|
||||||
DisableRedirects bool
|
DisableRedirects bool
|
||||||
// SNI custom hostname
|
// SNI custom hostname
|
||||||
SNI string
|
SNI string
|
||||||
|
// DialerTimeout sets the timeout for network requests.
|
||||||
|
DialerTimeout time.Duration
|
||||||
|
// DialerKeepAlive sets the keep alive duration for network requests.
|
||||||
|
DialerKeepAlive time.Duration
|
||||||
// Interface to use for network scan
|
// Interface to use for network scan
|
||||||
Interface string
|
Interface string
|
||||||
// SourceIP sets custom source IP address for network requests
|
// SourceIP sets custom source IP address for network requests
|
||||||
|
|
Loading…
Reference in New Issue