From a29e0f72917d3637300710bf18104755032dff46 Mon Sep 17 00:00:00 2001 From: yuhan6665 <1588741+yuhan6665@users.noreply.github.com> Date: Sun, 12 Mar 2023 20:33:12 -0400 Subject: [PATCH] Fix scan with domain addr --- main.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/main.go b/main.go index d0c26e3..aa0a9af 100644 --- a/main.go +++ b/main.go @@ -37,19 +37,16 @@ type Scanner struct { } func (s *Scanner) Run() { + str := s.addr addr := net.ParseIP(s.addr) - if addr == nil { - fmt.Println("Invalid address format") - return - } - str := addr.String() - if addr.To4() == nil { - str = "[" + str + "]" + if addr != nil && addr.To4() == nil { + str = "[" + addr.String() + "]" } conn, err := net.DialTimeout("tcp", str+":"+s.port, s.timeout) if err != nil { fmt.Println("Dial failed: ", err) } else { + addr = conn.RemoteAddr().(*net.TCPAddr).IP line := "" + conn.RemoteAddr().String() + " \t" conn.SetDeadline(time.Now().Add(s.timeout)) c := tls.Client(conn, &tls.Config { @@ -70,6 +67,10 @@ func (s *Scanner) Run() { } } + if addr == nil { + fmt.Println("Invalid address format") + return + } s.mu.Lock() s.high = addr s.low = addr