Linux抓包(wireshark+tcpdump)
文章目錄
- 一、Wireshark
- 1. 安裝wireshark工具
- 2.打開Wireshark
- 3. Wireshark基本使用
- 4. 抓包信息
- 1. 抓ping程序包
- 請求信息
- 響應信息
- ARP協議
- 2. 抓TCP三次握手、四次揮手
- 三次握手
- 四次揮手
- 3.抓telnet包
- 安裝 telnet
- 用 Woreshark抓包
- 二、tcpdump工具
- 1. 查看arp緩存
- 2. tcpdump基本使用
- 抓 ping包
- 保存抓包數據到指定文件
- 其它用法
一、Wireshark
Wireshark是一款圖形化的抓包軟件,在LInux和Windows下都可以下載。
1. 安裝wireshark工具
用命令安裝 wireshark相關軟件包
命令:yum -y install wireshark* -y
rpm -ql wireshark查看安裝wireshark產生了哪些文件
2.打開Wireshark
直接通過命令打開
wireshark
或者是圖形化頁面點開就好
3. Wireshark基本使用
點擊Interface List,就可以看到接口列表,選擇需要抓哪個網卡的包
這里我選擇ens33網卡,點擊start開始抓包
我們ping我們的主機地址,看看抓包情況
ping 工具使用的就是 ICMP協議,ICMP是IP協議的附屬協議。IP層用它來與其他主機或路由器交換錯誤報文和其他重要信息。它主要是用來提供有關通向目的地址的路徑信息。
4. 抓包信息
通過 ip.addr == [端口號]可以過濾掉無關ip
1. 抓ping程序包
請求信息
數據幀
鏈路層
網絡層
應用層
響應信息
因為是ping的響應,要響應給windows,所以源變成了LInux本機,目的變成了windows。
接著是協議類型,ping的請求是8,響應變成了0
ARP協議
2. 抓TCP三次握手、四次揮手
三次握手
通過 Xshell連接Linux虛擬機
四次揮手
3.抓telnet包
安裝 telnet
telnet是和ssh類似的,都是用來遠程登錄Linux服務器,ssh的端口號是22,telnet的端口號是23
安裝命令:yum -y install telnet-server
安裝完后要啟動服務
命令:systemctl start telnet.socket
查看是否有telnet服務的端口號
命令:netstat -nltp | grep :23
查看該應用產生哪些文件
測試telnet
測試時記得開發23端口或者關閉防火墻
關閉防火墻命令:systemctl stop firewalld
添加端口號:firewall-cmd --zone=public --add-port=[端口號]
注意:telnet 默認是不允許root用戶登錄的,只能登錄普通用戶
用 Woreshark抓包
抓包后發現,telnet傳輸的是明文數據。仔細找還能看到密碼,所以這個命令基本是被淘汰了
二、tcpdump工具
tcpdump是 Linux下的抓包工具,但它是命令行的操作。用起來沒有Wireshark方便
ARP:(地址解析協議IP-MAC)和RARP(逆地址解析協議MAC-IP)是某些網絡接口(如以太網)使用的特殊協議,用來轉換IP層和網絡接口層使用的地址下層協議給上層協議提供了一些功能支撐,上層協議要依賴下層協議
1. 查看arp緩存
命令:arp -n
作用:查看arp緩存
arp緩存里記錄了,我的主機曾經向拿臺主機要過MAC地址
刪除arp緩存
命令:arp -d [ip]
2. tcpdump基本使用
常用語法:tcpdump -i [網卡名] -nn host [主機ip]
- -i :指定網絡接口,對于多個網絡接口有用
- -n :顯示IP地址,不查主機名。當DNS不起作用時常用到這個參數
- -nn :不顯示協議和端口名。即顯示IP地址和端口
抓 ping包
每次詢問的MAC地址都會保存到,arp緩存里
保存抓包數據到指定文件
通過 -w 選項可以將抓包數據保存到指定文件里,再通過Woreshark打開
命令:tcpdump -i [網卡名] -nn host [主機ip] -w [文件名]
找到保存抓包信息的文件,打開
其它用法
下面的命令可以查看所有送到主機hostname的數據包
tcpdump -i eth0 dst host [主機ip]
總結
以上是生活随笔為你收集整理的Linux抓包(wireshark+tcpdump)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nodejs下载安装及配置环境
- 下一篇: linux 抓包tcp