linux下的抓包


1. 查看網卡名字

cat /proc/net/dev

2.抓取外網進來的包

tcpdump -i eth0 port 8081 -s 4096 -w 2.pcap

3.抓取自己服務器上的兩個程序之間訪問的數據

換成 lo這個網卡

4. 抓取http數據

tcpdump -i lo -A -s 0 'tcp port 8101 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' -w 1.pcap

 

(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp這些選項等都要放到第一個參數的位置,用來過濾數據報的類型
(2)-i eth1 : 只抓經過接口eth1的包
(3)-t : 不顯示時間戳
(4)-s 0 : 抓取數據包時默認抓取長度為68字節。加上-S 0 后可以抓到完整的數據包
(5)-c 100 : 只抓取100個數據包
(6)dst port ! 22 : 不抓取目標端口是22的數據包
(7)src net 192.168.1.0/24 : 數據包的源網絡地址為192.168.1.0/24
(8)-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析
(9)port 8080 : 只抓取8080端口

 

知識點:

自己服務器上通過lo網卡進行通信, 與外網通過ethx 進行通信

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM