Linux 網路抓包

2021-08-27 13:01:10 字數 1273 閱讀 4909

除錯網路程式時,通常需要抓包分析。linux下的tcpdump就很好。

ubuntu下預設已經安裝。下面先舉個實際的例子.

比如我有乙個c++程式監聽本地埠8889, 另乙個newlisp程式通過tcp和其通訊。

首先可以檢查一下有幾個網路介面。

root@dean-ga-ma790xt-ud4p:~# tcpdump -d

1.eth0

2.any (pseudo-device that captures on all inte***ces)

3.lo

由於是本機執行,都是通過lo介面,因此後面引數用-i 3.

-i 3 代表監控的是網路介面lo。 現在啟動tcpdump

tcpdump -i 3 tcp port 8889 -v -xx

-xx表示用16進製制和ascii文字顯示網路包的資料。

21:19:40.151304 ip (tos 0x0, ttl 64, id 37956, offset 0, flags [df], proto tcp (6), length 56)

localhost.8889 > localhost.55131: flags [p.], cksum 0xfe2c (incorrect -> 0x8dc0), seq 41:45, ack 117, win 342, options [nop,nop,ts val 728981 ecr 723761], length 4

0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............e.

0x0010: 0038 9444 4000 4006 a879 7f00 0001 7f00 .8.d@[email protected]......

0x0020: 0001 22b9 d75b 5a53 9f4c d8c4 bded 8018 .."..[zs.l......

0x0030: 0156 fe2c 0000 0101 080a 000b 1f95 000b .v.,............

0x0040: 0b31 0100 3355

首先顯示了時間,然後可以看到資料傳輸方向,從c++->newlisp程式。還可以看到應用層傳輸的位元組數目是4.

最後可以看到0100 3355 就是發出來的4個位元組。

其他很多位元組應該是tcp協議自身需要的資料。不做深究。

最後給乙個文章,演示了很多好的用法。可能需要。

linux 網路抓包

方案 1 使用linux中的tcpdump抓包 2 wireshark分析 tcpdump tcp i eth1 t s 0 c 100 and dst port 22 and src net 192.168.1.0 24 w target.cap 1 tcp ip icmp arp rarp 和 ...

C 網路抓包

以前一直都是知道用winpcap的,現在網上搜了一下,有用c 封裝好了的,很好用 下面是其中的幾個用法 這個類庫作者的主頁 pcapopen 有下面幾個方法 pcapopen pcapopen bool promiscuous mode pcapopen bool promiscuous mode,...

OTT 網路抓包

有些時候,我們為了更好分析ott盒子的網路行為,我們需要對其進行抓包。一般情況下有兩種狀況。該盒子我們有root許可權,可以通過adb登陸到盒子中 該盒子我們無法登入 在這兩種情況下,我們可以分別用不同的方式來完成網路抓包 這種情況下,我們一般是通過盒子的內部命令tcpdump進行抓包分析 cd m...