Mac系統下使用tcpdump抓包

2022-03-23 03:04:14 字數 2244 閱讀 9497

tcpdump是強大的socket抓包工具,可分析網路通訊情況,mac下使用必須用root許可權執行該工具。

sudo tcpdump, 輸入root密碼即可使用。

以下是乙個簡單的udp套接字互動,用於演示tcpdump的各種引數,

udp服務端:

require "socket"

include socket::constants

socket = socket.new(af_inet, sock_dgram, 0)

sockaddr = socket.pack_sockaddr_in(2200, "127.0.0.1")

socket.bind(sockaddr)

loop {

message,client_addr = socket.recvfrom(20)

p message

sleep 1

socket.send(message, 0, client_addr)

udp客戶端:

require "socket"

include socket::constants

socket = socket.new(af_inet, sock_dgram, 0)

sockaddr = socket.pack_sockaddr_in(2200, "127.0.0.1")

loop {

msg = stdin.gets

socket.send(msg,0,sockaddr)

sleep(3)

message,client_addr = socket.recvfrom(20)

p message

tcpdump -d,引數d會列出網路介面卡列表

~ sudo tcpdump -d

1.en0

2.fw0

3.utun0

4.en1

5.p2p0

6.lo0

上面的**是用的環路位址127.0.0.1,所以對應的介面卡是6.lo0

要抓取以上**的tcpdump命令如下:

~ sudo tcpdump -i 6 udp port 2200

-i 6 指定監視環路介面卡,udp協議,埠為2200的網路通訊

~ sudo tcpdump -x -i 6 udp port 2200

-x 顯示通訊的資料

啟動udp服務端和客戶端,並傳送資料,在開啟tcpdump的終端視窗可如下所見

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on lo0, link-type null (bsd loopback), capture size 65535 bytes

15:25:35.952875 ip localhost.30713 > localhost.ici: udp, length 6

0x0000: 4500 0022 b236 0000 4011 0000 7f00 0001 e..".6..@.......

0x0010: 7f00 0001 77f9 0898 000e fe21 6865 6c6c ....w......!hell

0x0020: 6f0a o.

15:25:36.953409 ip localhost.ici > localhost.30713: udp, length 6

0x0000: 4500 0022 8777 0000 4011 0000 7f00 0001 e..".w..@.......

0x0010: 7f00 0001 0898 77f9 000e fe21 6865 6c6c ......w....!hell

0x0020: 6f0a o.

以上就是tcpdump抓取的包情況。

~ sudo tcpdump -i 6

重新啟動tcpdump工具,並監控環路上所用資料

現在中斷udp服務端,只啟動客戶端並傳送資料,觀察tcpdump情況如下:

15:49:40.283935 ip localhost.12195 > localhost.ici: udp, length 7

15:49:40.283982 ip localhost > localhost: icmp localhost udp port ici unreachable, length 36

因為伺服器停止了,所以這裡能看到錯誤原因:icmp localhost udp port ici unreachable。

ubuntu下安裝Tcpdump並使用

因為要在linux測試乙個http協議偽裝的需要,使用到了linux下的wireshark抓包軟體 tcpdump。具體的安裝過程如下 2.安裝c編譯所需包 apt get install build essential 3.安裝 libpcap的前置 apt get install flex,ap...

linux下tcpdump的使用簡介

簡介 用簡單的話來定義tcpdump,就是 dump the traffic on a network,根據使用者的定義對網路上的資料報進行截獲的包分析工具。tcpdump可以將網路中傳送的資料報的 頭 完全截獲下來提供分析。它支 持針對網路層 協議 主機 網路或埠的過濾,並提供and or not...

Android 下使用tcpdump 抓包工具

1.先給手機刷root許可權,執行命令 adb root adb remount ok後 把tcpdump放到c盤根目錄下 c 2.執行命令 adb push c tcpdump data local tcpdump 這個命令是把tcpdump拷到手機中去 3.adb shell chmod 675...