2025-02-19 18:30:19 +08:00
|
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
import (
|
2025-03-08 21:57:34 +08:00
|
|
|
|
"dt_automate/nessus"
|
2025-02-19 18:30:19 +08:00
|
|
|
|
"dt_automate/tool"
|
|
|
|
|
"flag"
|
|
|
|
|
"fmt"
|
|
|
|
|
"log"
|
|
|
|
|
"os"
|
|
|
|
|
"strconv"
|
|
|
|
|
"time"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
var (
|
2025-02-27 18:37:03 +08:00
|
|
|
|
// urls string // 存储 -t 参数值
|
|
|
|
|
keyss bool // 存储值
|
|
|
|
|
runs bool //存储值
|
2025-02-19 18:30:19 +08:00
|
|
|
|
// helpFlag bool
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
|
//SetFlags函数用来设置标准logger的输出配置
|
2025-03-06 18:53:00 +08:00
|
|
|
|
log.SetPrefix("[DT_AUTOMATE]: ")
|
2025-02-19 18:30:19 +08:00
|
|
|
|
log.SetFlags(log.Llongfile | log.Lmicroseconds | log.Ldate)
|
|
|
|
|
// key.Keyprin("iPoTwF953OJExi8uLGOALs7cwpdiHyfLYDLXfno9nY7KLsLyOu5wDxN424pLFyIymNAzpNEdVQCkOBQM7Tj3uTkSQ7tOLPSzUXrLgMZj5Ft0s1Iv3Ls9Aq6W0NxBPNSY3r1NuXY3L0378YKoopsc68untFqlrXhjq5PIDah90Tlq/sQ3onL+/qd9xNn4Lj+PcDY8R0edNpOormOduN2p8JpS0H0WaZW5SV0iCYET9jRFcfXY3qZutAD9W3UGO2EjzkyZMfyN8lG4YgUGBTghkw4Ihoe9GQZF5NgYJumhvFzE1S8PvW0gBqQK9K1LpESyN1bcvXIALUEUzT+4vC6UBA==")
|
|
|
|
|
// 定义标志 -url 并设置其默认值为空字符串
|
|
|
|
|
flag.BoolVar(&keyss, "v", false, "查看授权状态")
|
2025-02-27 18:37:03 +08:00
|
|
|
|
flag.BoolVar(&runs, "run", false, "开始执行")
|
2025-02-19 18:30:19 +08:00
|
|
|
|
// flag.BoolVar(&helpFlag, "h", false, "Show help message")
|
|
|
|
|
//解析命令行参数
|
|
|
|
|
flag.Parse()
|
|
|
|
|
// log.Println(os.Args[1])
|
|
|
|
|
if len(os.Args) > 1 {
|
|
|
|
|
if keyss {
|
|
|
|
|
key := tool.Keyprin(tool.Auth_main()["key"])
|
|
|
|
|
if key.End_time != "" {
|
|
|
|
|
a, _ := strconv.ParseInt(key.End_time, 10, 64)
|
|
|
|
|
// b, _ := strconv.ParseInt(key.Initial_time, 10, 64) // 获取的不是当前时间
|
|
|
|
|
duration := time.Unix(a, 0).Sub(time.Unix(tool.Timestamp("second"), 0))
|
|
|
|
|
days := int(duration / (24 * time.Hour)) //天
|
|
|
|
|
hours := int(duration % (24 * time.Hour) / time.Hour) //小时
|
|
|
|
|
minutes := int(duration / time.Minute % 60) //分钟
|
|
|
|
|
secod := int(duration / time.Second % 60) //秒
|
|
|
|
|
if days <= 0 && hours <= 0 && minutes <= 0 {
|
|
|
|
|
log.Printf("授权已到期,剩余时间:%d天 %d小时 %d分钟 %d秒", days, hours, minutes, secod)
|
|
|
|
|
} else {
|
|
|
|
|
log.Printf("授权未到期,剩余时间:%d天 %d小时 %d分钟 %d秒", days, hours, minutes, secod)
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
// log.Printf("剩余时间:%d天 %d小时 %d分钟 %d秒", days, hours, minutes, secod) //剩余时间
|
|
|
|
|
} else {
|
|
|
|
|
log.Println("没有授权")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if runs {
|
|
|
|
|
key := tool.Keyprin(tool.Auth_main()["key"])
|
|
|
|
|
if key.End_time != "" {
|
|
|
|
|
a, _ := strconv.ParseInt(key.End_time, 10, 64)
|
|
|
|
|
// b, _ := strconv.ParseInt(key.Initial_time, 10, 64) // 获取的不是当前时间
|
|
|
|
|
duration := time.Unix(a, 0).Sub(time.Unix(tool.Timestamp("second"), 0))
|
|
|
|
|
days := int(duration / (24 * time.Hour)) //天
|
|
|
|
|
hours := int(duration % (24 * time.Hour) / time.Hour) //小时
|
|
|
|
|
minutes := int(duration / time.Minute % 60) //分钟
|
|
|
|
|
secod := int(duration / time.Second % 60) //秒
|
|
|
|
|
if days <= 0 && hours <= 0 && minutes <= 0 {
|
|
|
|
|
log.Printf("授权已到期,剩余时间:%d天 %d小时 %d分钟 %d秒", days, hours, minutes, secod)
|
|
|
|
|
} else {
|
|
|
|
|
log.Printf("授权未到期,剩余时间:%d天 %d小时 %d分钟 %d秒", days, hours, minutes, secod)
|
|
|
|
|
//可执行程序位置
|
2025-03-11 15:07:17 +08:00
|
|
|
|
// // 互联网区截图
|
2025-03-04 17:40:37 +08:00
|
|
|
|
// method.HW_FAC1() //截取流量清洗的图片
|
2025-03-11 15:07:17 +08:00
|
|
|
|
// method.HW_FW1() //截取防火墙的图片
|
2025-03-06 18:53:00 +08:00
|
|
|
|
// method.HW_TSGZ() //截取态势感知的图片
|
2025-02-27 00:12:26 +08:00
|
|
|
|
// method.HW_DTCLOUD() //截取运维中心的图片
|
2025-03-04 17:40:37 +08:00
|
|
|
|
// method.HW_BAOLJ() //截取堡垒机的图片
|
|
|
|
|
|
2025-03-11 15:07:17 +08:00
|
|
|
|
// //政务网区截图
|
2025-02-27 00:12:26 +08:00
|
|
|
|
// method.ZWW_FW1() //截取防火墙的图片
|
2025-03-11 15:07:17 +08:00
|
|
|
|
// method.ZWW_TSGZ() //截取态势感知的图片
|
2025-02-27 00:12:26 +08:00
|
|
|
|
// method.ZWW_DTCLOUD() //截取运维中心的图片
|
2025-02-28 16:29:58 +08:00
|
|
|
|
// method.ZWWW_BAOLJ() //截取堡垒机的图片
|
2025-03-06 18:53:00 +08:00
|
|
|
|
// 互联网区运维巡检文档生成
|
2025-03-05 22:32:44 +08:00
|
|
|
|
// wps.HW_SYS_Word() //运维平台word文档生成
|
2025-03-11 15:07:17 +08:00
|
|
|
|
// // // //政务网区运维巡检文档生成
|
2025-03-05 22:32:44 +08:00
|
|
|
|
// wps.ZWW_SYS_Word() //运维平台word文档生成
|
2025-03-11 15:07:17 +08:00
|
|
|
|
// // // //安全巡检文档生成
|
2025-03-05 22:32:44 +08:00
|
|
|
|
// wps.SAFET_Word() //安全巡检文档生成
|
2025-03-06 18:53:00 +08:00
|
|
|
|
//安全事件表格生成(需要先执行互联网区防火墙截图)
|
2025-03-11 15:07:17 +08:00
|
|
|
|
// attackevent.Fw_event(attackevent.HW_fw1_cookie(), "2025-03-10") //将防火墙安全事件存放到xlsx文件中
|
2025-03-05 18:55:51 +08:00
|
|
|
|
//nessus的csv文件生成docx报告
|
2025-03-08 21:57:34 +08:00
|
|
|
|
nessus.CSV_damo()
|
2025-03-06 18:53:00 +08:00
|
|
|
|
//翻译模块调用腾讯xt翻译月500万字限制
|
2025-03-05 18:55:51 +08:00
|
|
|
|
// log.Println(wps.Translate("hello"))
|
2025-03-05 23:03:51 +08:00
|
|
|
|
// wps.Weekly_word()
|
2025-03-06 18:53:00 +08:00
|
|
|
|
//调用云平台接口
|
2025-03-06 22:07:39 +08:00
|
|
|
|
// dtcloud.EcsList() //获取ecs列表及其详情(完成)
|
2025-03-06 22:00:59 +08:00
|
|
|
|
// dtcloud.Process() //获取单ecs进程使用情况
|
|
|
|
|
// dtcloud.Memory() //获取单个ecs的memory使用情况
|
|
|
|
|
// dtcloud.Cpu() ///获取单个ecs的cpu使用情况
|
|
|
|
|
// dtcloud.TenantList() //获取租户列表(完成)
|
2025-03-11 15:07:17 +08:00
|
|
|
|
// damo.Damo()
|
2025-03-06 22:00:59 +08:00
|
|
|
|
|
2025-02-19 18:30:19 +08:00
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
log.Println("没有授权")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
// log.Println("\n使用说明:\n请在主程序后面带上参数↓↓↓\n# # # # # # # # # # # # # # # # # # # # # # # # #\n\n实例: main -url https://www.douyin.com/follow/live/923670558441\n\n# # # # # # # # # # # # # # # # # # # # # # # # #")
|
|
|
|
|
flag.Usage()
|
|
|
|
|
os.Exit(0)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
|
flag.Usage = func() {
|
|
|
|
|
fmt.Fprintf(os.Stderr, "Usage of %s:\n", os.Args[0])
|
|
|
|
|
fmt.Println(" -v 查看授权状态")
|
|
|
|
|
fmt.Println(" -run 开始截取图片")
|
|
|
|
|
// fmt.Println(" -h, 帮助信息")
|
|
|
|
|
}
|
|
|
|
|
}
|