linux 管理技巧

抓包工具


有時想看下網卡上都有哪些數據包,尤其是當初你初步判定服務上有流量***時,使用抓包工具來抓取數據包就可以知道有哪些 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  然後重啓生效

 






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章