抓包工具


有时想看下网卡上都有哪些数据包,尤其是当初你初步判定服务上有流量***时,使用抓包工具来抓取数据包就可以知道有哪些 ip在***


1、tcpdump工具

用法   tcpdump -nn  -i  +网卡

14:24:24.376261 IP 192.168.12.111.22 > 192.168.12.1.52048: Flags [P.], seq 2883280:2883456, ack 18081, win 332, length 176
14:24:24.376298 IP 192.168.12.111.22 > 192.168.12.1.52048: Flags [P.], seq 2883456:2883632, ack 18081, win 332, length 176
14:24:24.376387 IP 192.168.12.111.22 > 192.168.12.1.52048: Flags [P.], seq 2883632:2883808, ack 18081, win 332, length 176
14:24:24.376425 IP 192.168.12.111.22 > 192.168.12.1.52048: Flags [P.], seq 2883808:2883984, ack 18081, win 332, length 176
14:24:24.376514 IP 192.168.12.111.22 > 192.168.12.1.52048: Flags [P.], seq 2883984:2884160, ack 18081, win 332, length 176
14:24:24.376551 IP 192.168.12.111.22 > 192.168.12.1.52048: Flags [P.], seq 2884160:2884336, ack 18081, win 332, length 176
14:24:24.376640 IP 192.168.12.111.22 > 192.168.12.1.52048: Flags [P.], seq 2884336:2884512, ack 18081, win 332, length 176
14:24:24.376677 IP 192.168.12.111.22 > 192.168.12.1.52048: Flags [P.], seq 2884512:2884688, ack 18081, win 332, length 176


如果没有tcpdump 命令 需要使用 yum install -y tcpdump  我们关注是的是第三列和第四列,它们显示的是为哪一个IP+端口号在连接哪一个IP+端口号 后面跟的是数据包的相关信息

-i 选项后面跟设备名称,如果想抓取其他网卡的数据包,后面则需要跟其他网卡的名字,-nn选项的作用是让第3列和第4列显示成“IP+端口号”的形成,如果不加-nn 选项,则显示“主机名+服务器名称”

tcpdump的其他用法

# tcpdump -nn -i eno16777736 -c 100      表示抓取网卡100条数据包的信息

-c  的作用是指抓包数量,抓包够了自动退出,不用我们认为取消

# tcpdump -nn -i eno16777736 port 22  表示只抓22端口的包

# tcpdump -nn -i eno16777736 tcp and not port 22    表示只抓tcp的包,但是不要22端口的

# tcpdump -nn -i eno16777736 port 22 and port 53     表示只抓22端口和53端口的包


ifconfig 命令

ifconfig 作用是查看网卡IP相关的信息 和之前使用的ipaddr命令一样

如果没有ifconfig 这个命令 则需要 执行:yum install -y net-tools

设置ip的方法

# vi etc/sysconfig/network-scripts/ifcfg-网卡名字    之后修改网卡的ip地址   最后重启网卡 :systemctl restart network  

ifdown 即停用网卡  ifup即启动网卡    用法:ifdown ens33 && ifup ens33  表示单独重启ens33这个网卡


查看网卡的连接状态

(查看网卡的连接状态有两个命令,1个是mii-tool+网卡名字 或ethtool +网卡名字)

 [root@localhost ~]# mii-tool eno16777736   # 查看网卡连接状态
eno16777736: negotiated 1000baseT-FD flow-control, link ok

    这里显示link OK 就说明网卡为连接状态,如果是 no link 说明为网卡坏了或者没有连接到网络

[root@localhost ~]# ethtool eno16777736  #如果不支持mii就使用ethtool 来查看网卡的连接状态
Settings for eno16777736:
 Supported ports: [ TP ]
 Supported link modes:   10baseT/Half 10baseT/Full
                         100baseT/Half 100baseT/Full
                         1000baseT/Full
 Supported pause frame use: No
 Supports auto-negotiation: Yes
 Advertised link modes:  10baseT/Half 10baseT/Full
                         100baseT/Half 100baseT/Full
                         1000baseT/Full
 Advertised pause frame use: No
 Advertised auto-negotiation: Yes
 Speed: 1000Mb/s
 Duplex: Full
 Port: Twisted Pair
 PHYAD: 0
 Transceiver: internal
 Auto-negotiation: on
 MDI-X: off (auto)
 Supports Wake-on: d
 Wake-on: d
 Current message level: 0x00000007 (7)
          drv probe link
 Link detected: yes

    如果link detected :yes 说明网卡为连接状态


更改主机名

(更改主机名有两种方法,下面介绍下这两种方法)

[root@localhost ~]# hostname  #查看主机名
yzllinux123

# hostname yzlliniux    这样修改只是保存到内存中,如果重启,主机还会变动为之前的名称,要想永久使用这个主机名,就必须编辑/etc/hostname这个文件

# vi /etc/hostname/      把里面的主机名换成yzllinux这个主机名


方法2

hostnamectl set-hostname yzllinux     表示更改主机名


设置DNS

执行的命令是 vim /etc/resolv.conf

[root@yzllinux123 ~]# vim /etc/resolv.conf   #执行这条命令
# Generated by NetworkManager
nameserver 8.8.8.8                                     #增加DNS   4个8为谷歌的dns
nameserver 119.29.29.29
~                        

    这里vim/etc/resolv.conf只是临时修改  要想永久修需要执行,vi /etc/sysconfig/network-scripts/ifcfg-eno16777736


linux 防火墙

setenforce 0 是临时关闭防火墙

要想永久关闭则需要执行:vi /etc/selinuxconfig  然后修改里面SELINUX=enforcing  改成SELINUX=disabled  然后重启生效