Mac系统下使用tcpdump抓包
来源:互联网 发布:火箭勇士 知乎 编辑:程序博客网 时间:2024/06/06 07:28
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。
- Mac系统下使用tcpdump抓包
- Android系统 使用tcpdump 抓包
- Linux环境下使用tcpdump抓包
- Android 下使用tcpdump网络抓包
- 使用tcpdump抓包
- tcpdump抓包使用
- 在mac下通过tcpdump抓iPhone包
- Android系统手机端使用tcpdump抓包方法。
- Linux系统抓包命令tcpdump使用实例
- Android使用tcpdump抓包
- android使用tcpdump抓包
- linux下网络抓包命令tcpdump的使用
- Android 下网络抓包方法 使用tcpdump
- Android 下使用tcpdump网络抓包方法
- Centos6.5下使用tcpdump抓包并用wireshark分析
- Centos6.5下使用tcpdump抓包并用wireshark分析
- Android下使用TcpDump抓包Wireshark分析数据
- Android下使用TCPDUMP抓包Wireshark分析数据啦。
- Arrays.asList获取的list不可以直接使用remove
- java基础学习之try catch finally语句中含有return语句的执行情况
- [C++ Primer CH04]第4章 表达式(笔记)
- 基本数据类型long的L问题
- Rxjava+Retrofit 实现全局过期 Token 自动刷新
- Mac系统下使用tcpdump抓包
- cat命令
- 【JavaWeb_Part05】JDBC?弱爆了,看看轻量级的 Mybatis FreeStyle
- 让javascript加载速度倍增的方法(解决JS加载速度慢的问题)
- 《UNIX环境高级编程》第16章 网络IPC:套接字
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
- unity xml反序列化为数据类
- HTTP请求方式GET和POST的区别
- cuda环境下安装opencv出现nvcc warning : The 'compute_11'