ifconfig

每天一个linux命令(52):ifconfig命令

  1. 查看本机IP地址
    1. $ ifconfig
    2. em1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    3. inet 10.0.0.251 netmask 255.255.255.0 broadcast 10.0.0.255
    4. inet6 fe80::11e6:53d7:1de2:64e9 prefixlen 64 scopeid 0x20<link>
    5. ether 10:98:36:a3:0e:41 txqueuelen 1000 (Ethernet) # ether指以太网
    6. RX packets 18950448 bytes 7921926649 (7.3 GiB) # 接收的packet与byte数量
    7. RX errors 0 dropped 0 overruns 0 frame 0
    8. TX packets 28481335 bytes 26946282684 (25.0 GiB) # 发送的packet与byte数量
    9. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
    10. device interrupt 16
    11. lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 # lo是回环地址
    12. inet 127.0.0.1 netmask 255.0.0.0
    13. inet6 ::1 prefixlen 128 scopeid 0x10<host>
    14. loop txqueuelen 1000 (Local Loopback)
    15. RX packets 60597495 bytes 26663143191 (24.8 GiB)
    16. RX errors 0 dropped 0 overruns 0 frame 0
    17. TX packets 60597495 bytes 26663143191 (24.8 GiB)
    18. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

em1(mac中叫en0,还有的叫eth0)中的inet,netmask,broadcast,inet6分别是IP地址、掩码地址、广播地址、IPV6地址。

  1. 配置IP地址

    1. $ ifconfig eth0 10.0.0.14
  2. 启动关闭指定网卡

    1. $ ifconfig eth0 up
    2. $ ifconfig eth0 down
  3. 为网卡配置和删除IPv6地址

  4. 用ifconfig修改MAC地址
  5. 启用和关闭ARP协议
  6. 设置最大传输单元
    1. $ ifconfig eth0 mtu 1500

tcpdump

tcpdump -i en0 tcp port 3000
-i 指定网卡。就是network interface card(nic)简称网卡
en0 代表一种网卡类型
port 指定端口
-A 把每个包以assic码打印出来
-X 告诉tcpdump命令,需要把协议头和包内容都原原本本的显示出来
[-s num] 指定每个包的快照长度,相当于把包给按这个长度给截断了。num为0使用默认的262144个byte的长度
-S 打印绝对而非相对的TCP序列号。
[-w file] 直接将包写入文件中,并不分析和打印出来
-l 使标准输出变为缓冲行形式
[host ip] 指定ip,例如 host 210.27.48.1

参考: link