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...