This commit is contained in:
李超 2025-02-21 18:49:58 +08:00
parent cede7ef672
commit 0caf8c03c5
12 changed files with 435 additions and 56 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 182 KiB

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 248 KiB

After

Width:  |  Height:  |  Size: 244 KiB

BIN
img/capt.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 386 KiB

After

Width:  |  Height:  |  Size: 384 KiB

BIN
img/zww_fw1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 KiB

BIN
img/zww_tsgz.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

View File

@ -92,6 +92,11 @@ func main() {
//互联网区
method.HW_FAC1() //截取流量清洗的图片
method.HW_FW1() //截取防火墙的图片
method.HW_TSGZ() //截取态势感知的图片
//政务网区
method.ZWW_FW1() //截取防火墙的图片
method.ZWW_TSGZ() //截取态势感知的图片
// wps.Word()
}
} else {
log.Println("没有授权")

121
method/hw_tsgz.go Normal file
View File

@ -0,0 +1,121 @@
package method
import (
"dt_automate/tool"
"dt_automate/wtch_ocr"
"log"
"github.com/playwright-community/playwright-go"
)
func HW_TSGZ() {
// 启动 Playwright
pw, err := playwright.Run()
if err != nil {
log.Fatalf("could not start Playwright: %v", err)
}
defer pw.Stop()
// 启动浏览器Chromium
browser, err := pw.Chromium.Launch(playwright.BrowserTypeLaunchOptions{
Headless: playwright.Bool(false), // 设置为 false 以显示浏览器界面
Args: []string{
"--ignore-certificate-errors", // 忽略证书错误[^28^][^29^]
},
})
if err != nil {
log.Fatalf("could not launch browser: %v", err)
}
defer browser.Close()
// 创建一个新页面
page, err := browser.NewPage()
if err != nil {
log.Fatalf("could not create page: %v", err)
}
// 设置浏览器窗口大小
err = page.SetViewportSize(1920, 1080) // 宽度为 1200px高度为 800px
if err != nil {
log.Fatalf("无法设置浏览器窗口大小: %v", err)
}
// 导航到指定网址
_, err = page.Goto("https://11.2.65.21/")
if err != nil {
log.Fatalf("could not go to the page: %v", err)
}
page.WaitForTimeout(2000)
page.Locator(`.verification-item .el-image`).Screenshot(playwright.LocatorScreenshotOptions{
Path: playwright.String("img/capt.png"),
})
a := page.Locator(`.el-input__inner`)
result := wtch_ocr.OcrDefault("img/capt.png")
if len(result.OcrResponse[0].Text) == 4 {
log.Println("读取验证码:", result.OcrResponse[0].Text)
a.Nth(2).Fill(result.OcrResponse[0].Text)
} else {
page.WaitForTimeout(500)
page.Locator(".verification-item .el-image .el-image__inner").Click()
}
// Screenshot(playwright.PageScreenshotOptions{})
// (playwright.PageScreenshotOptions{
// Path: playwright.String("img/capg.png"),
// FullPage: playwright.Bool(true),
// })
//输入
a.Nth(0).Fill("admin")
page.WaitForTimeout(500)
a.Nth(1).Fill("BWySN~QjrlwFsA)@#h")
page.WaitForTimeout(500)
//点击同意
if err := page.Locator(`.el-checkbox__inner`).Click(); err != nil {
log.Println(err)
}
//登录
page.WaitForTimeout(1000)
if err := page.Locator(`.el-button.el-button--primary.el-button--large.login-button`).Click(); err != nil {
log.Println(err)
}
page.WaitForTimeout(500)
_, err = page.Goto("https://11.2.65.21/#/threatCenter/asset")
page.WaitForTimeout(1000)
page.Evaluate(`
const now = new Date();
const year = now.getFullYear();
const month = (now.getMonth() + 1).toString().padStart(2, '0');
const day = now.getDate().toString().padStart(2, '0');
const hours = now.getHours().toString().padStart(2, '0');
const minutes = now.getMinutes().toString().padStart(2, '0');
const seconds = now.getSeconds().toString().padStart(2, '0');
const timestamp = year+"-"+month+"-"+day +" "+ hours+":"+minutes+":"+seconds;
const div = document.createElement('div');
div.style.position = 'fixed';
div.style.bottom = '10px';
div.style.right = '10px';
div.style.color = 'white';
div.style.backgroundColor = 'black';
div.style.padding = '5px';
div.style.borderRadius = '5px';
div.textContent = timestamp;
document.body.appendChild(div);
`, nil)
page.Locator(`.el-range-input`).Nth(0).Click()
page.WaitForTimeout(500)
page.Locator(`.el-picker-panel__shortcut`).Nth(0).Click()
page.WaitForTimeout(300)
page.Locator(`.display-inline-flex.align-items-center.justify-content-end.advanced-search-wrapper .el-button.el-button--primary`).Click()
page.WaitForTimeout(1000)
tool.Jietu("img/hw_tsgz.png")
page.WaitForTimeout(2000)
// 获取页面标题
title, err := page.Title()
if err != nil {
log.Fatalf("could not get title: %v", err)
}
log.Printf("Page title is: %s\n", title)
// StartBlocker()
page.WaitForTimeout(5000)
}

109
method/zww_fw1.go Normal file
View File

@ -0,0 +1,109 @@
package method
import (
"dt_automate/tool"
"log"
"github.com/playwright-community/playwright-go"
)
func ZWW_FW1() {
// 启动 Playwright
pw, err := playwright.Run()
if err != nil {
log.Fatalf("could not start Playwright: %v", err)
}
defer pw.Stop()
// 启动浏览器Chromium
browser, err := pw.Chromium.Launch(playwright.BrowserTypeLaunchOptions{
Headless: playwright.Bool(false), // 设置为 false 以显示浏览器界面
Args: []string{
"--ignore-certificate-errors", // 忽略证书错误[^28^][^29^]
},
})
if err != nil {
log.Fatalf("could not launch browser: %v", err)
}
defer browser.Close()
// 创建一个新页面
page, err := browser.NewPage()
if err != nil {
log.Fatalf("could not create page: %v", err)
}
// 设置浏览器窗口大小
err = page.SetViewportSize(1920, 1080) // 宽度为 1200px高度为 800px
if err != nil {
log.Fatalf("无法设置浏览器窗口大小: %v", err)
}
// 导航到指定网址
_, err = page.Goto("https://11.1.68.146")
if err != nil {
log.Fatalf("could not go to the page: %v", err)
}
page.WaitForTimeout(2000)
//输入
if err := page.Locator(`#user_name`).Fill("xunjianyuan"); err != nil {
log.Fatalf("could not fill input: %v", err)
}
if err := page.Locator(`#password`).Fill("zwW47dNZN^tU2WjbY"); err != nil {
log.Fatalf("could not fill input: %v", err)
}
//登录
if err := page.Locator("#login_button").Click(); err != nil {
log.Fatalf("could not click button: %v", err)
}
page.WaitForTimeout(1000)
page.Evaluate(`
const now = new Date();
const year = now.getFullYear();
const month = (now.getMonth() + 1).toString().padStart(2, '0');
const day = now.getDate().toString().padStart(2, '0');
const hours = now.getHours().toString().padStart(2, '0');
const minutes = now.getMinutes().toString().padStart(2, '0');
const seconds = now.getSeconds().toString().padStart(2, '0');
const timestamp = year+"-"+month+"-"+day +" "+ hours+":"+minutes+":"+seconds;
const div = document.createElement('div');
div.style.position = 'fixed';
div.style.bottom = '10px';
div.style.right = '10px';
div.style.color = 'white';
div.style.backgroundColor = 'black';
div.style.padding = '5px';
div.style.borderRadius = '5px';
div.textContent = timestamp;
document.body.appendChild(div);
`, nil)
page.Locator(`#leftmenu-body tr[data-recordid="M_ThreatLog"] div.x-grid-cell-inner.x-grid-cell-inner-treecolumn a.x-tree-node-text`).Click()
page.WaitForTimeout(1000)
page.Locator(`#button-1174-btnEl`).Click()
page.WaitForTimeout(500)
page.Locator(`#combobox-1302-bodyEl #combobox-1302-inputEl`).Click()
page.WaitForTimeout(500)
page.Locator(`#boundlist-1330-listEl li[title="Untrust"]`).Click()
page.WaitForTimeout(500)
page.Locator(`#combobox-1303-bodyEl #combobox-1303-inputEl`).Click()
page.WaitForTimeout(500)
page.Locator(`#boundlist-1335-listEl li[title="Trust"]`).Click()
page.WaitForTimeout(500)
page.Locator(`#button-1322-btnIconEl`).Click()
page.WaitForTimeout(1000)
// page.Screenshot(playwright.PageScreenshotOptions{
// Path: playwright.String("img/hw_fw1.png"),
// FullPage: playwright.Bool(true),
// })
tool.Jietu("img/zww_fw1.png")
page.WaitForTimeout(2000)
// 获取页面标题
title, err := page.Title()
if err != nil {
log.Fatalf("could not get title: %v", err)
}
log.Printf("Page title is: %s\n", title)
// StartBlocker()
page.WaitForTimeout(5000)
}

121
method/zww_tsgz.go Normal file
View File

@ -0,0 +1,121 @@
package method
import (
"dt_automate/tool"
"dt_automate/wtch_ocr"
"log"
"github.com/playwright-community/playwright-go"
)
func ZWW_TSGZ() {
// 启动 Playwright
pw, err := playwright.Run()
if err != nil {
log.Fatalf("could not start Playwright: %v", err)
}
defer pw.Stop()
// 启动浏览器Chromium
browser, err := pw.Chromium.Launch(playwright.BrowserTypeLaunchOptions{
Headless: playwright.Bool(false), // 设置为 false 以显示浏览器界面
Args: []string{
"--ignore-certificate-errors", // 忽略证书错误[^28^][^29^]
},
})
if err != nil {
log.Fatalf("could not launch browser: %v", err)
}
defer browser.Close()
// 创建一个新页面
page, err := browser.NewPage()
if err != nil {
log.Fatalf("could not create page: %v", err)
}
// 设置浏览器窗口大小
err = page.SetViewportSize(1920, 1080) // 宽度为 1200px高度为 800px
if err != nil {
log.Fatalf("无法设置浏览器窗口大小: %v", err)
}
// 导航到指定网址
_, err = page.Goto("https://11.1.65.20")
if err != nil {
log.Fatalf("could not go to the page: %v", err)
}
page.WaitForTimeout(2000)
page.Locator(`.verification-item .el-image`).Screenshot(playwright.LocatorScreenshotOptions{
Path: playwright.String("img/capt.png"),
})
a := page.Locator(`.el-input__inner`)
result := wtch_ocr.OcrDefault("img/capt.png")
if len(result.OcrResponse[0].Text) == 4 {
log.Println("读取验证码:", result.OcrResponse[0].Text)
a.Nth(2).Fill(result.OcrResponse[0].Text)
} else {
page.WaitForTimeout(500)
page.Locator(".verification-item .el-image .el-image__inner").Click()
}
// Screenshot(playwright.PageScreenshotOptions{})
// (playwright.PageScreenshotOptions{
// Path: playwright.String("img/capg.png"),
// FullPage: playwright.Bool(true),
// })
//输入
a.Nth(0).Fill("admin")
page.WaitForTimeout(500)
a.Nth(1).Fill("tov6LeR*R6Or_jiUC")
page.WaitForTimeout(500)
//点击同意
if err := page.Locator(`.el-checkbox__inner`).Click(); err != nil {
log.Println(err)
}
//登录
page.WaitForTimeout(1000)
if err := page.Locator(`.el-button.el-button--primary.el-button--large.login-button`).Click(); err != nil {
log.Println(err)
}
page.WaitForTimeout(500)
_, err = page.Goto("https://11.1.65.20/#/threatCenter/asset")
page.WaitForTimeout(1000)
page.Evaluate(`
const now = new Date();
const year = now.getFullYear();
const month = (now.getMonth() + 1).toString().padStart(2, '0');
const day = now.getDate().toString().padStart(2, '0');
const hours = now.getHours().toString().padStart(2, '0');
const minutes = now.getMinutes().toString().padStart(2, '0');
const seconds = now.getSeconds().toString().padStart(2, '0');
const timestamp = year+"-"+month+"-"+day +" "+ hours+":"+minutes+":"+seconds;
const div = document.createElement('div');
div.style.position = 'fixed';
div.style.bottom = '10px';
div.style.right = '10px';
div.style.color = 'white';
div.style.backgroundColor = 'black';
div.style.padding = '5px';
div.style.borderRadius = '5px';
div.textContent = timestamp;
document.body.appendChild(div);
`, nil)
page.Locator(`.el-range-input`).Nth(0).Click()
page.WaitForTimeout(500)
page.Locator(`.el-picker-panel__shortcut`).Nth(0).Click()
page.WaitForTimeout(300)
page.Locator(`.display-inline-flex.align-items-center.justify-content-end.advanced-search-wrapper .el-button.el-button--primary`).Click()
page.WaitForTimeout(1000)
tool.Jietu("img/zww_tsgz.png")
page.WaitForTimeout(2000)
// 获取页面标题
title, err := page.Title()
if err != nil {
log.Fatalf("could not get title: %v", err)
}
log.Printf("Page title is: %s\n", title)
// StartBlocker()
page.WaitForTimeout(5000)
}

BIN
simple.docx Normal file

Binary file not shown.

View File

@ -1,11 +1,9 @@
package wps
import (
"fmt"
"io/ioutil"
"log"
"github.com/unidoc/unioffice/v2/color"
"github.com/unidoc/unioffice/v2/common"
"github.com/unidoc/unioffice/v2/common/license"
"github.com/unidoc/unioffice/v2/document"
@ -30,85 +28,110 @@ func Word() {
doc := document.New()
defer doc.Close()
para := doc.AddParagraph() //添加段落
run := para.AddRun() //添加运行
para.SetStyle("Title") //标题
run.AddText("Simple Document Formatting") //添加文本
// para := doc.AddParagraph() //添加段落
// run := para.AddRun() //添加运行
// para.SetStyle("Title") //标题
// run.AddText("Simple Document Formatting") //添加文本
para = doc.AddParagraph()
para.SetStyle("Heading1") //标题1
run = para.AddRun()
run.AddText("Some Heading Text")
// para = doc.AddParagraph()
// para.SetStyle("Heading1") //标题1
// run = para.AddRun()
// run.AddText("Some Heading Text")
para = doc.AddParagraph()
para.SetStyle("Heading2") //标题2
run = para.AddRun()
run.AddText("Some Heading Text")
// para = doc.AddParagraph()
// para.SetStyle("Heading2") //标题2
// run = para.AddRun()
// run.AddText("Some Heading Text")
// para = doc.AddParagraph()
// para.SetStyle("Heading3") //标题3
// run = para.AddRun()
// run.AddText("Some Heading Text")
//标题
para := doc.AddParagraph()
para.Properties().SetAlignment(wml.ST_JcCenter)
run := para.AddRun()
run.Properties().SetBold(true)
run.Properties().SetFontFamily("等线 (正文)")
run.Properties().SetSize(22)
run.AddText("安全运维日报")
run.AddBreak()
//正文
para = doc.AddParagraph()
para.SetStyle("Heading3") //标题3
para.Properties().SetFirstLineIndent(0.5 * measurement.Inch) //控制段落中第一行的缩进
run = para.AddRun()
run.AddText("Some Heading Text")
run.Properties().SetFontFamily("等线 (正文)")
run.Properties().SetSize(16) //设置字体大小
run.AddText(`2025年在政府信息化中心领导的指导、要求下我科室和运维公司将严格加强网络安全巡检每日做好巡检工作。 2025年2月20日对大同信创云平台互联网防火墙*.*.68.146)、互联网流量清洗(*.*.65.19)、互联网态势感知(*.*.65.21)、互联网堡垒机(*.*.65.23)、政务外网防火墙(*.*.68.145)政务外网态势感知(*.*.65.20)、政务外网堡垒机(*.*.65.22)进行安全巡检,未发现安全入侵事件,安全设备运行正常。检测到攻击事件如下:`) //段落
para = doc.AddParagraph()
para.Properties().SetFirstLineIndent(0.5 * measurement.Inch) //控制段落中第一行的缩进
run = para.AddRun()
run.AddText("A run is a string of characters with the same formatting. ") //段落
run.Properties().SetFontFamily("等线 (正文)")
run.Properties().SetSize(16)
run.AddText(`121.30.199.80:80、121.30.199.79:80服务受到wget 命令注入(HTTP_URI)攻击攻击已对攻击源91.224.92.10进行封锁;`)
para = doc.AddParagraph()
para.Properties().SetFirstLineIndent(0.5 * measurement.Inch) //控制段落中第一行的缩进
run = para.AddRun()
run.Properties().SetBold(true) //设置为粗体
run.Properties().SetFontFamily("Courier") //设置字体系列
run.Properties().SetSize(15) //设置字体大小
run.Properties().SetColor(color.Red) //设置字体颜色
run.AddText("Multiple runs with different formatting can exist in the same paragraph. ") //文字内容
run.Properties().SetFontFamily("等线 (正文)")
run.Properties().SetSize(16)
run.AddText("121.30.199.82:80服务受到wget 命令注入(HTTP_URI)、Trojan.Win.Njrat变体出站连接、恶意软件流量_AndroxGh0st、访问敏感文件.git_config通信流量攻击攻击已对攻击源66.240.205.34、45.125.66.249、195.178.110.163进行封锁;")
run.AddBreak()
run.AddText("如下为安全巡检详情:")
run.AddPageBreak()
para = doc.AddParagraph()
para.Properties().SetAlignment(wml.ST_JcCenter)
run = para.AddRun()
run.AddText("Adding breaks to a run will insert line breaks after the run. ")
run.AddBreak() //添加分隔符
run.AddBreak() //添加分隔符
run.Properties().SetBold(true)
run.Properties().SetFontFamily("等线 (正文)")
run.Properties().SetSize(22)
run.AddText("大同信创云平台安全运维日报")
run.AddBreak()
table := doc.AddTable()
row := table.AddRow()
// run = createParaRun(doc, "Runs support styling options:")
run = createParaRun(doc, "Runs support styling options:")
// run = createParaRun(doc, "small caps")
// run.Properties().SetSmallCaps(true) //设置小型大写字母
run = createParaRun(doc, "small caps")
run.Properties().SetSmallCaps(true) //设置小型大写字母
// run = createParaRun(doc, "strike")
// run.Properties().SetStrikeThrough(true) //设置删除线
run = createParaRun(doc, "strike")
run.Properties().SetStrikeThrough(true) //设置删除线
// run = createParaRun(doc, "double strike")
// run.Properties().SetDoubleStrikeThrough(true) //设置双删除线
run = createParaRun(doc, "double strike")
run.Properties().SetDoubleStrikeThrough(true) //设置双删除线
// run = createParaRun(doc, "outline")
// run.Properties().SetOutline(true) //设定线
run = createParaRun(doc, "outline")
run.Properties().SetOutline(true) //设定线
// run = createParaRun(doc, "emboss")
// run.Properties().SetEmboss(true) //设置浮雕
run = createParaRun(doc, "emboss")
run.Properties().SetEmboss(true) //设置浮雕
// run = createParaRun(doc, "shadow")
// run.Properties().SetShadow(true) //设置阴影
run = createParaRun(doc, "shadow")
run.Properties().SetShadow(true) //设置阴影
// run = createParaRun(doc, "imprint")
// run.Properties().SetImprint(true) //设置印记
run = createParaRun(doc, "imprint")
run.Properties().SetImprint(true) //设置印记
// run = createParaRun(doc, "highlighting")
// run.Properties().SetHighlight(wml.ST_HighlightColorYellow) //设置高亮显示
run = createParaRun(doc, "highlighting")
run.Properties().SetHighlight(wml.ST_HighlightColorYellow) //设置高亮显示
// run = createParaRun(doc, "underline")
// run.Properties().SetUnderline(wml.ST_UnderlineWavyDouble, color.Red) //设置下划线
run = createParaRun(doc, "underline")
run.Properties().SetUnderline(wml.ST_UnderlineWavyDouble, color.Red) //设置下划线
// run = createParaRun(doc, "text effects")
// run.Properties().SetEffect(wml.ST_TextEffectAntsRed) //设置效果
run = createParaRun(doc, "text effects")
run.Properties().SetEffect(wml.ST_TextEffectAntsRed) //设置效果
// nd := doc.Numbering.Definitions()[0]
nd := doc.Numbering.Definitions()[0]
for i := 1; i < 5; i++ {
p := doc.AddParagraph()
p.SetNumberingLevel(i - 1) //设置数字级别
p.SetNumberingDefinition(nd) //集合编号定义
run := p.AddRun()
run.AddText(fmt.Sprintf("Level %d", i))
}
// for i := 1; i < 5; i++ {
// p := doc.AddParagraph()
// p.SetNumberingLevel(i - 1) //设置数字级别
// p.SetNumberingDefinition(nd) //集合编号定义
// run := p.AddRun()
// run.AddText(fmt.Sprintf("Level %d", i))
// }
doc.SaveToFile("simple.docx")
}
func createParaRun(doc *document.Document, s string) document.Run {