wireshark error: There are no interfaces on which a capture can be done.

本文介绍了如何在Linux和Windows 7环境下安装和配置Wireshark。在Linux中,通过设置普通用户权限来避免以root身份运行Wireshark的风险;在Windows 7中,则通过启动NPF服务解决无法捕获网络数据的问题。
部署运行你感兴趣的模型镜像
一、Linux环境
1、root用户启动
   01、启动一个shell
   02、sudo wireshark (需要root权限)

2、普通用户启动
     从Linux中第一次启动Wireshark的时候,可能会觉得奇怪,为什么看不到任何一个网卡,比如eth0之类的。这是因为,直接访问这些设备 需要 root权限。然后,我就用root权限去用了。当然,这是一个不好的做法。比如Gentoo中就会提示:WIRESHARK CONTAINS OVER ONE POINT FIVE MILLION LINES OF SOURCE CODE. DO NOT RUN THEM AS ROOT.

那怎么办呢?Wireshark的leader Gerald Combs指出,现在多数Linux发行版都开始实现对raw网络设备使用 文件系统 权限(能力) ,可以用这个途径从普通用户启动Wireshark。

以下是具体步骤:
1.安装setcap。setcap 是libcap2-bin包的一部分,一般来说,这个包默认会已经装好。
sudo apt-get install libcap2-bin

2.创建Wireshark组。这一步在安装Wireshark的时候,也会完成。
$ sudo -s
# groupadd -g wireshark
# usermod -a -G wireshark <自己的用户名>
# chgrp wireshark /usr/bin/dumpcap
# chmod 4750 /usr/bin/dumpcap

3.赋予权限。
#setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap 完成。
可以使用 getcap /usr/bin/dumpcap验证,输出应当是:/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip

现在就可以从自己的普通用户启动Wireshark抓包了。

二、Windows7的环境:

这个错误是因为系统没有启动NPF服务造成的。

解决的办法很简单:
01、在【开始】–>【运行】
02、输入:【%windir%/system32】
03、将会开启一个文件夹窗口,在里面找到CMD.EXE
04、点击右键,选择【以管理员身份运行】
05、选择【是】,输入【net start npf】
06、系统提示【NetGroup Packet Filter Driver 服务已经启动成功。】
07、至此,Wireshark再点击【Interfaces list】就可以正常选择需要捕捉的接口了。
08、如果需要关闭此服务,是要在命令行输入【net stop npf】即可。

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值