1. 程式人生 > >Wireshark:couldn't run dumpcap in child process(附帶Linux下探索過程)

Wireshark:couldn't run dumpcap in child process(附帶Linux下探索過程)

之前都是直接使用Kali裡面安裝好的Wireshark和Win下的,Ubuntu的來個小計

PS:解決方法不重要,我覺得更重要的是這個摸索的過程

解決方法

# 安裝wireshark
sudo apt install wireshark
# 新增wireshark使用者組
$ sudo groupadd wireshark
# 將dumpcap更改為wireshark使用者組 
$ sudo chgrp wireshark /usr/bin/dumpcap 
# 讓wireshark使用者組有root許可權使用dumpcap
$ sudo chmod 4755 /usr/bin/dumpcap
# 將當前使用者加入wireshark使用者組
$ sudo gpasswd -a dnt wireshark

探索過程

 

Wireshark:couldn't run dumpcap in child process

看到這個第一反應都是:先把使用者換成有許可權的使用者組,或者專門設定一個專用的

更換所屬使用者:sudo chown dnt /usr/bin/dumpcap

更換所屬的組:sudo chgrp dnt /usr/bin/dumpcap

再次使用,爆出新的錯誤: 

 按照給的解決方案試試:

sudo dpkg-reconfigure wireshark-common(確保你之前安裝是選的是yes)

執行:ll /usr/bin/ | grep dumpcap

發現錯誤並沒有解決

那麼這個方向行不通,換個思路:新建一個專門的組,然後給許可權(安裝的時候預設已經建立了wireshark)

先恢復下,然後設定檔案是4755許可權(下面會解釋)sudo chmod 4755 /usr/bin/dumpcap

再把當前使用者新增到wireshark組裡面:sudo gpasswd -a dnt wireshark

之前有朋友說Linux命令不太熟悉,我說以後用到就稍微解釋下,這邊簡單說明下:

命令解釋

755含義

先說755代表什麼:

以常見的 -rwx r-x r-x 為例:

  1. 開頭一位是代表檔案型別,後面全部是許可權
  2. 許可權分三塊,這個2015年我們說過:(點我)
    1. 前面三位是當前使用者的許可權
    2. 接著三位是當前使用者所在組的許可權
    3. 最後三位是其他使用者的許可權
    4. rwx => 2^2 2^1 2^0 => 4 2 1 => 4+2+1 => 7
  3. r代表可讀,w代表可寫,x代表可執行
    1. rwx r-x r-x => 4+2+1 4+1 4+1 => 755 

4755含義

再說一下4755含義:

chmod 4755 與 chmod 755 的區別在於開頭多了一位,這個4表示其他使用者執行檔案時,具有與所有者相當的許可權

然後這邊就可以正常使用了