查看网卡信息:ifconfig命令及详细介绍

在 实体机上 ifconfig 命令用于  显示或配置网络设备(网络接口卡) 或修改。(以CentOS 7为例

ifconfig -a 所有网卡信息

一、显示内容分析 

1、ens33   以太网接口(virbr0、virbr-nic类似)

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
  • ens33             :网卡名称
  • UP                  :表示“接口已启用”
  • BROADCAST:表示“主机支持广播”
  • RUNNING      :表示“接口在工作中”
  • MULTICAST  :表示“主机支持多播”
  • MTU 1500      :(最大传输单元):1500字节
inet 192.168.xxx.xxx  netmask 255.255.255.0  broadcast 192.168.xxx.xxx
  • inet:IP地址
  • netmask:子网掩码
  • broadcast:广播地址
ether 00:50:56:28:2c:xx  txqueuelen 1000  (Ethernet)
  • ether(Ethernet)                    :表示 连接类型(以太网)
  • 00:50:56:28:2c:xx(Hwaddr):表示 硬件Mac 地址
  • txqueuelen 1000                      :表示 网卡传送队列长度
RX packets 341798  bytes 286602735 (273.3 MiB)
RX errors 0  dropped 0  overruns 0  frame 0
  • RX packets         :接受到的总包数
  • RX bytes             :接受到的总字节数
  • RX errors            :接收时,产生错误的数据包数
  • RX dropped        :接收时,丢弃的数据包数
  • RX overruns       :接收时,由于速度过快而丢失的数据包数
  • RX frame (框架)  :接收时,发生frame错误而丢失的数据包数
TX packets 50732  bytes 7640759 (7.2 MiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • TX packets         :发送的总包数
  • TX bytes             :发送的总字节数
  • TX errors            :发送时,产生错误的数据包数
  • TX dropped        :发送时,丢弃的数据包数
  • TX overruns       :发送时,由于速度过快而丢失的数据包数
  • TX carrier           :发送时, 发生carrier错误而丢失的数据包数(运输工具)
  • TX collisions      :发送时, 冲突信息包的数目

以太网接口与网卡对应,每个硬件网卡(一个MAC)对应一个以太网接口,其工作完全由网卡相应的驱动程序控制。如果物理网卡只有一个,而却有eth1,eth2等,则可能存在无线网卡或多个虚拟网卡,虚拟网卡由系统创建或通过应用层程序创建,作用与物理网卡类似。

2、lo 回环接口

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>    #ipv6地址 
        loop  txqueuelen 1  (Local Loopback)
        RX packets 337  bytes 43530 (42.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 337  bytes 43530 (42.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo:“回环”网络接口,“lo”是“loopback”的缩写,它不代表真正的网络接口,而是一个虚拟的网络接口, 其 IP 地址默认是“127.0.0.1”,回环地址通常仅用于对本机的网络测试

虚拟网络接口:并非真实存在,并不真实地从外界接收和发送数据包,而是在系统内部接收和发送数据包,因此虚拟网络接口不需要驱动程序。

表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 HTTPD服务器的指定到回坏地址,在浏览器输入 127.0.0.1 就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。

inet6 ::1  prefixlen 128  scopeid 0x10<host>
  • inet6 ::1        :ipv6地址
  • prefixlen 128 :在网上只搜到说是 前缀长度,不知道对不对
  • scopeid 0x10 :

在IP地址的后面有个scope,对于ens33这张网卡来讲,是 global, 说明这张网卡是可以对外的,可以接收来自各个地方包。对于lo来讲,是host,说明这张网卡仅仅可以提供本机相互通信

3、br0 网桥接口

br0 Link encap:Ethernet HWaddr a2:d3:29:ba:51:4b

网桥是一种在链路层实现中继,对帧进行转发的技术,根据MAC分区块,可隔离碰撞,将网络的多个网段在数据链路层连接起来的网络设备。

br0可以将两个接口进行连接,如将两个以太网接口eth0进行连接,对帧进行转发。

4、wlan0 无线接口

wlan0 Link encap:Ethernet HWaddr 9c:b7:0d:c0:0b:xx
inet addr:192.168.xxx.xxx Bcast:192.168.xxx.xxx Mask:255.255.255.0

无线网卡对应的接口,无线网卡也需要对应的驱动程序才能工作。
 

二、 相关命令

1、显示摘要信息

ifconfig -s

Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
ens33     1500   344368      0      0 0         50968      0      0      0 BMRU
lo       65536      337      0      0 0           337      0      0      0 LRU
virbr0    1500        0      0      0 0             0      0      0      0 BMU

2、启动关闭指定网卡

ifconfig ens33 up      #启动eth0网卡
ifup ens33
ifconfig ens33 down    #关闭eth0网卡
ifdown ens33

ssh登陆linux服务器操作要小心,关闭了就不能开启了,除非你有多网卡。

3 、为网卡配置和删除IPv6地址

ifconfig ens33 add 33ffe:3240:800:1005::2/64 #为网卡ens33配置IPv6地址;
ifconfig ens33 del 33ffe:3240:800:1005::2/64 #为网卡ens33删除IPv6地址;

3、用ifconfig修改MAC地址

ifconfig  eth0  hw ether  00:AA:BB:CC:DD:EE

4、修改 IP的=地址


#配置IP等相关信息
ifconfig ens33 192.168.xxx.xxx

ifconfig ens33 192.168.xxx.xxx netmask 255.255.255.0

ifconfig ens33 192.168.xxx.xxx netmask 255.255.255.0 broadcast 192.168.xxx.xxx
#网络号+主机号 broadcast的主机号全为1, 例IP:192.168.120.2/24 broadcast 192.168.120.255

5、-promisc 设置是否支持网卡的promiscuous模式

如果选择此参数,网卡将接收网络中发给它所有的数据包

ifconfig ens33 promisc  #设置
ifconfig ens33 -promisc #取消

6、- allmulti 设置是否支持多播模式

ifconfig ens33 allmulti   #设置
ifconfig ens33 -allmulti  #取消

7、单网卡 添加多个IP地址

ifconfig ens33:0 192.168.0.1 network 255.255.255.0 up
ifconfig ens33:1 192.168.0.1 network 255.255.255.0 up

 8、启用或关闭arp协议

ifconfig ens33 arp   #启用
ifconfig ens33 -arp  #关闭

9、设置最大传输单元    设置能通过的最大数据包大小为 xxx  bytes

ifconfig ens33 mtu 1500

三、 其他查看网卡信息的命令(ip addr)

ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:50:56:28:2c:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.xxx.xxx/24 brd 192.168.xxx.255 scope global dynamic ens33
       valid_lft 1169sec preferred_lft 1169sec
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
    link/ether 52:54:00:a8:34:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.xxx.xxx/24 brd 192.168.xxx.255 scope global virbr0
       valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
    link/ether 52:54:00:a8:34:xx brd ff:ff:ff:ff:ff:ff

  • 95
    点赞
  • 417
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
OpenCV+zbar开源库实现摄像头识别二维码,测试验证识别率非常高,已实现简单的应用。 打包源码在VS2013下可以完全编译成功,附加包含OpenCV库及zbar-0.10-setup.exe,zbar-0.10.tar.bz2 下载Demo后需要安装 zbar-0.10-setup.exe 以下代码可以可以完成整个流程的开发,也可以贡献积分下载资源包。 1、 环境准备 (1) OpenCV库2.49 (2) ZBar开源库 (3) VS2013 2、 VS2013环境配置 (1) 配置附加包含目录 C/C++ -- 附加包含目录 include\opencv\include\ include\opencv\include\opencv include\opencv\include\opencv2 include (2) 配置链接器 链接器 -- 附加库目录 lib32\opencv\lib lib32 (3) 配置链接器 链接器--输入--附加依赖项 opencv_core249d.lib opencv_highgui249d.lib opencv_imgproc249d.lib libzbar-0.lib 3、 代码开发 (1)包含头文件 include include include include include include using namespace std; using namespace zbar; using namespace cv; (2)实现函数 void MatToCImage(cv::Mat &mat, CImage &cImage) { //create new CImage int width = mat.cols; int height = mat.rows; int channels = mat.channels(); cImage.Destroy(); //clear cImage.Create(width, height, 8 * channels); //默认图像像素单通道占用1个字节 //copy values uchar* ps; uchar* pimg = (uchar*)cImage.GetBits(); //A pointer to the bitmap buffer int step = cImage.GetPitch(); for (int i = 0; i (i)); for (int j = 0; j GetDlgItem(IDC_STATIC_IMG)->GetClientRect(▭); cv::VideoCapture capture(0);//从摄像头读入图像 while (!m_bCloseCamera) { cv::Mat frame; capture >> frame; cv::Mat newframe; cv::Size ResImgSiz = cv::Size(rect.Width(), rect.Height()); cv::resize(frame, newframe, ResImgSiz, CV_INTER_CUBIC); MatToCImage(newframe, imgDst); imgDst.Draw(pThis->GetDlgItem(IDC_STATIC_IMG)->GetDC()->GetSafeHdc(), rect); ImageScanner scanner; scanner.set_config(ZBAR_NONE, ZBAR_CFG_ENABLE, 1); Mat imageGray; cvtColor(frame, imageGray, CV_RGB2GRAY); int width = imageGray.cols; int height = imageGray.rows; uchar *raw = (uchar *)imageGray.data; Image imageZbar(width, height, "Y800", raw, width * height); scanner.scan(imageZbar); //扫描条码 Image::SymbolIterator symbol = imageZbar.symbol_begin(); if (imageZbar.symbol_begin() == imageZbar.symbol_end()) { } else { iIndex++; if (iIndex > 999999) { iIndex = 0; } for (; symbol != imageZbar.symbol_end(); ++symbol) { char szInfo[1024]; memset(szInfo, 0, sizeof(szInfo)); sprintf(szInfo, "[d]类型:%s\r\n条码:%s\r\n", iIndex , symbol->get_type_name().c_str(), symbol->get_data().c_str()); pThis->GetDlgItem(IDC_EDIT1)->SetWindowText(szInfo); } } imageZbar.set_data(NULL, 0); } imgDst.Destroy(); capture.release(); return 0; }
### 回答1: ifconfig命令是用于配置和显示网络接口的命令。它可以用于显示计算机上所有的网络接口的状态信息,包括IP地址、MAC地址、网络掩码等等。同时,ifconfig也可以用于配置网络接口,如设置IP地址、启用或禁用接口等。 常用的ifconfig命令选项包括: - -a:显示所有网络接口的状态信息,包括未激活的接口。 - -s:以简略模式显示网络接口的状态信息。 - up:激活指定的网络接口。 - down:禁用指定的网络接口。 - add:为指定的网络接口添加一个IP地址。 - del:从指定的网络接口中删除一个IP地址。 例如,如果要查看计算机上所有网络接口的状态信息,可以使用以下命令: ``` ifconfig -a ``` 如果要启用一个名为eth0的网络接口,可以使用以下命令: ``` ifconfig eth0 up ``` ### 回答2: ifconfig 命令是用于配置和显示网络接口的信息命令。它可以用于查看和修改网络接口的IP地址、子网掩码、广播地址等相关参数。 使用ifconfig命令,可以方便地查看当前系统中的网络接口信息。在终端中输入ifconfig命令,将显示所有可用的网络接口,包括以太网、无线网卡、以及虚拟网络接口。对于每个接口,都会显示其名称、MAC地址、IP地址、子网掩码、广播地址等信息。 除了查看,ifconfig命令还可以用于修改网络接口的相关参数。通过在命令后加上适当的选项和参数,可以对网络接口进行设置。例如,可以使用ifconfig命令来配置IP地址,通过指定接口名称和IP地址,同时也可以设置子网掩码和广播地址。 另外,ifconfig命令还可以用于开启或关闭网络接口。通过指定接口名称和up或down参数,可以将接口打开或关闭。例如,使用ifconfig eth0 up命令可以打开以太网接口,使其能够进行网络通信。 总之,ifconfig命令是一个非常实用的网络工具,可以用于查看和配置网络接口的相关参数,方便用户进行网络设置和故障排查。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值