Skip to content

Commit

Permalink
Merge pull request #23 from zhzyker/version-0.4
Browse files Browse the repository at this point in the history
Version 0.4
  • Loading branch information
zhzyker committed Jun 16, 2022
2 parents bc30527 + a2a779f commit d39fea0
Show file tree
Hide file tree
Showing 11 changed files with 232 additions and 232 deletions.
2 changes: 1 addition & 1 deletion configs/banner.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ func Banner() {
"/ /_/ / _ / _(__ )_ / / / / / /_/ /__ /_/ /\n" +
"\\__,_/ /_/ /____/ /_/ /_/ /_/\\__,_/ _ .___/\n" +
" /_/"
s := " dismap version: 0.3 release\n" +
s := " dismap version: 0.4 release\n" +
" author: zhzyker && Nemophllist\n" +
" from: https://github.com/zhzyker/dismap\n"
fmt.Println(logger.Purple(b))
Expand Down
10 changes: 4 additions & 6 deletions configs/config.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
package configs



var DefaultPorts = []int{21,22,25,53,69,79,80,81,82,83,84,85,86,87,88,89,110,135,137,138,139,143,389,443,445,554,587,631,800,801,808,880,888,1000,1024,1025,1080,1099,1389,1433,1521,2000,2001,2222,2601,3306,3307,3388,3389,3443,5800,5900,6379,7000,7001,7007,7010,7788,8000,8001,8002,8003,8004,8005,8006,8007,8008,8009,8010,8011,8030,8060,8070,8080,8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091,8092,8093,8094,8095,8096,8097,8098,8099,8161,8175,8188,8189,8443,8445,8448,8554,8800,8848,8880,8881,8888,8899,8983,8989,9000,9001,9002,9008,9010,9043,9060,9080,9081,9082,9083,9084,9085,9086,9087,9088,9089,9090,9091,9092,9093,9094,9095,9096,9097,9099,9443,9448,9600,9628,9800,9899,9981,9986,9988,9998,9999,11001,13443,15000,20000,33890,45554,49155,49156,50050,61616}
var DefaultPorts = []int{21, 22, 23, 25, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 110, 135, 137, 138, 139, 143, 389, 443, 445, 587, 631, 800, 801, 808, 880, 888, 1000, 1024, 1025, 1080, 1099, 1389, 1433, 1521, 2383, 3306, 3307, 3388, 3389, 3443, 5000, 5357, 5560, 5800, 5900, 6379, 7000, 7001, 7007, 7010, 7788, 8000, 8001, 8002, 8003, 8004, 8005, 8006, 8007, 8008, 8009, 8010, 8011, 8030, 8060, 8070, 8080, 8081, 8082, 8083, 8084, 8085, 8086, 8087, 8088, 8089, 8090, 8091, 8092, 8093, 8094, 8095, 8096, 8097, 8098, 8099, 8161, 8175, 8188, 8189, 8200, 8443, 8445, 8448, 8554, 8800, 8848, 8880, 8881, 8888, 8899, 8983, 8989, 9000, 9001, 9002, 9008, 9010, 9043, 9060, 9080, 9081, 9082, 9083, 9084, 9085, 9086, 9087, 9088, 9089, 9090, 9091, 9092, 9093, 9094, 9095, 9096, 9097, 9099, 9443, 9600, 9628, 9800, 9999, 11001, 13443, 49155, 50050, 61616}

var DefaultHeader = map[string]string{
"Accept-Language": "zh,zh-TW;q=0.9,en-US;q=0.8,en;q=0.7,zh-CN;q=0.6",
"User-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1468.0 Safari/537.36",
"Cookie": "rememberMe=int",
}
"User-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1468.0 Safari/537.36",
"Cookie": "rememberMe=int",
}
75 changes: 38 additions & 37 deletions configs/rule.go

Large diffs are not rendered by default.

38 changes: 32 additions & 6 deletions internal/operate/flag_network.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,41 @@ func FlagNetwork(op *os.File, wg *sync.WaitGroup, lock *sync.Mutex, address stri
intIde := 0
for _, host := range actualHosts {
for _, port := range ports {
wg.Add(1)
wg.Add(3)
intSyncThread++
go func(host string, port int, Args map[string]interface{}) {
res := protocol.Discover(host, port, Args)
if res["status"].(string) == "open" {
resTls := protocol.DiscoverTls(host, port, Args)
if resTls["status"].(string) == "open" {
intAll++
parse.VerboseParse(res)
output.Write(res, op)
if strings.Contains(res["uri"].(string), "://") {
parse.VerboseParse(resTls)
output.Write(resTls, op)
if strings.Contains(resTls["uri"].(string), "://") {
intIde++
}
}
wg.Done()
}(host, port, Args)

go func(host string, port int, Args map[string]interface{}) {
resTcp := protocol.DiscoverTcp(host, port, Args)
if resTcp["status"].(string) == "open" {
intAll++
parse.VerboseParse(resTcp)
output.Write(resTcp, op)
if strings.Contains(resTcp["uri"].(string), "://") {
intIde++
}
}
wg.Done()
}(host, port, Args)

go func(host string, port int, Args map[string]interface{}) {
resUdp := protocol.DiscoverUdp(host, port, Args)
if resUdp["status"].(string) == "open" {
intAll++
parse.VerboseParse(resUdp)
output.Write(resUdp, op)
if strings.Contains(resUdp["uri"].(string), "://") {
intIde++
}
}
Expand Down
21 changes: 8 additions & 13 deletions internal/operate/flag_url.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,15 @@ func FlagUrl(op *os.File, uri string, Args map[string]interface{}) {
if logger.DebugError(err) {
return
}
if Args["FlagMode"] == Args["FlagType"] {
if scheme == "https" {
Args["FlagType"] = "tls"
Args["FlagMode"] = scheme
} else {
Args["FlagType"] = "tcp"
Args["FlagMode"] = scheme
}
}
res := protocol.Discover(host, port, Args)
if Args["FlagMode"] == Args["FlagType"] {
Args["FlagType"] = ""
Args["FlagMode"] = ""
var res map[string]interface{}
//Args["FlagMode"] = scheme
switch scheme {
case "http":
res = protocol.DiscoverTcp(host, port, Args)
case "https":
res = protocol.DiscoverTls(host, port, Args)
}
//Args["FlagMode"] = ""
parse.VerboseParse(res)
output.Write(res, op)
}
57 changes: 38 additions & 19 deletions internal/output/output.go
Original file line number Diff line number Diff line change
@@ -1,45 +1,64 @@
package output

import (
"encoding/hex"
"encoding/json"
"fmt"
"github.com/zhzyker/dismap/internal/flag"
"github.com/zhzyker/dismap/pkg/logger"
"os"
"time"
)

func Open(Args map[string]interface{}) *os.File {
o := Args["FlagOutput"].(string)
op, err := os.OpenFile(o, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
if logger.DebugError(err) {
logger.Error(fmt.Sprintf("Failed to open file %s", logger.Red(o)))
func Open(Args map[string]interface{}) *os.File {
if len(Args["FlagOutJson"].(string)) != 0 {
return openFile(Args["FlagOutJson"].(string))
} else {
return openFile(Args["FlagOutput"].(string))
}
return op
}

func Write(result map[string]interface{}, output *os.File) {
if result["status"].(string) == "close" {
return
}
JsonOutput(result, "save")
content := fmt.Sprintf("%s, %s, %s, %s, %s, %s",
logger.GetTime(),
result["type"],
result["protocol"],
logger.Clean(result["identify.string"].(string)),
result["uri"],
result["banner.string"])
var text = []byte(content + "\n")
_, err := output.Write(text)
if logger.DebugError(err) {
logger.Error(fmt.Sprintf("Target %s write failed", logger.Red(result["uri"])))
if len(flag.OutJson) != 0 {
result["banner.byte"] = hex.EncodeToString(result["banner.byte"].([]byte))
result["date"] = time.Now().Unix()
byteR, _ := json.Marshal(result)
writeContent(output, string(byteR))
} else {
content := fmt.Sprintf("%s, %s, %s, %s, %s, %s",
logger.GetTime(),
result["type"],
result["protocol"],
logger.Clean(result["identify.string"].(string)),
result["uri"],
result["banner.string"])
writeContent(output, content)
}
}

func Close(file *os.File) {
JsonOutput(nil, "write")
err := file.Close()
if logger.DebugError(err) {
logger.Error(fmt.Sprintf("Close file %s exception", logger.Red(file.Name())))
} else {
logger.Info("The identification results are saved in " + logger.Yellow(file.Name()))
}
}

func openFile(name string) *os.File {
osFile, err := os.OpenFile(name, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
if logger.DebugError(err) {
logger.Error(fmt.Sprintf("Failed to open file %s", logger.Red(name)))
}
return osFile
}

func writeContent(file *os.File, content string) {
_, err := file.Write([]byte(content + "\n"))
if logger.DebugError(err) {
logger.Error(fmt.Sprintf("Write failed: %s", logger.Red(content)))
}
}
49 changes: 0 additions & 49 deletions internal/output/output_json.go

This file was deleted.

Loading

0 comments on commit d39fea0

Please sign in to comment.