第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

tcpdump 的“exec.Command”不執(zhí)行任何操作

tcpdump 的“exec.Command”不執(zhí)行任何操作

Go
一只名叫tom的貓 2023-08-14 14:29:08
我正在嘗試在 Go 中運(yùn)行以下代碼。我嘗試過(guò)以下兩種方法:out, err := exec.Command("sh", "-c", "tcpdump -i ens0 host 192.168.1.100 -F ./testfile").Output()fmt.Println(string(out))           // Prints nothingfmt.Println(err)                   // exit status 1我也嘗試過(guò)替換sh為/bin/bash. 我還嘗試了以下方法,有和沒有sh作為第一個(gè)參數(shù):out, err := exec.Command("tcpdump", "-i", "ens0", "host", "192.168.1.100", "-F", "./testfile").Output()fmt.Println(string(out))           // Prints nothingfmt.Println(err)                   // exit status 1這些都不起作用。有人能看到我做錯(cuò)了什么嗎?我也嘗試過(guò)這個(gè) go 包"github.com/kami-zh/go-capturer"來(lái)讀取 stderr,但它再次沒有打印任何內(nèi)容。通常我必須使用從 shellsudo執(zhí)行tcpdump,因此我構(gòu)建了 go 二進(jìn)制文件并以 root 用戶身份執(zhí)行它。
查看完整描述

1 回答

?
呼啦一陣風(fēng)

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊

像這樣的東西應(yīng)該可以工作,我不確定 tcp 轉(zhuǎn)儲(chǔ)中是否有任何特定的命令,例如 -F 可用,如果您想捕獲 tcp 轉(zhuǎn)儲(chǔ)的純輸出,您可以使用將輸出定向到文件> file。-w選項(xiàng)用于wireshark/tcpdump格式,讀取并顯示


cmd := exec.Command("sh", "-c", "sudo tcpdump -i <eth> host <ip> -w ./testfile")

err := cmd.Run()

if err != nil {

    fmt.Println(err)

}

謝謝,@torek,-c 選項(xiàng)可以與 tcpdump 一起使用,在捕獲 n 個(gè)數(shù)據(jù)包后退出


 cmd := exec.Command("sh", "-c", "sudo tcpdump -i ens33 -c 100 host localhost -w ./testfile")

 err := cmd.Run()

 if err != nil {

      fmt.Println(err)

 }

另一種方法是使用cmd.Start


cmd := exec.Command("sh", "-c", "sudo tcpdump -i ens33 -c 100 host localhost -w ./testfile")

err := cmd.Start()

if err != nil {

    log.Fatal(err)

}

log.Printf("Waiting for command to finish...")

err = cmd.Wait()

log.Printf("Command finished with error: %v", err)

如果您在 tcpdump cmd 中使用不帶 -c 選項(xiàng)的 cmd.run,則 tcpdump 命令會(huì)繼續(xù)無(wú)限運(yùn)行。因此,您無(wú)法看到是否在 cmd.Run() 調(diào)用之后放置了 print 語(yǔ)句,原因是 exec.Command 失敗了,它的工作方式與在 cli 中的工作方式相同,因此如果您需要在前面使用 sodo,您也應(yīng)該將其放入命令中或從 root 用戶運(yùn)行它。


查看完整回答
反對(duì) 回復(fù) 2023-08-14
  • 1 回答
  • 0 關(guān)注
  • 182 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)