首页
centos
常用命令linux_系统
Centos后台运行程序命令nohup
CentOS7启用阿里源yum安装Nginx
使用清华大学yum源
使用国内yum源
Linux script(录制) 命令
Linux内核参数中的配置项
Linux 系统生成或重置机器 ID
centos7系统安装
Centos7配置开机自启动脚本
CentOS忘记密码
Linux的服务、程序
系统优化+模板制作
CentOS设置环境变量
CentOS7的systemd
Linux常用命令记录
Centos 7查看系统最近一次启动时间和运行时间
Linux命令 之 watch命令
Centos7下date怎么英文格式输出
linux 使用 rz 和 sz 上传下载文件
Linux下的压缩/解压缩
常用命令linux_文本处理
计划任务crontab
CentOS7 SElinux和防火墙Firewall
Centos firewall-cmd配置软路由
CentOS7系统中使用iptables
iptables配置
iptables基础操作
使用iptables设置端口敲门(port knocking)后转发
Centos7 SSH登录日志分析
CentOS下查看tcp的网络连接状态数 netstat + awk
CentOS7上安装 Fail2Ban防SSH爆破
Fail2Ban开启邮件告警
LDAP
文件存储
ZFS
SSH
CentOS 7 SSH配置免密码登录
CentOS7开启SSH访问配置
删除ssh客户端记录的主机密钥标识(指纹)
sshd启动失败解决
添加用户,设置sudo权限
ssh公钥、机器指纹
ssh客户端提示:找不到对应主机密钥类型
shell脚本
示例:jumpserver一键安装脚本
centos中使用ping日志记录网络通断
盘符挂载硬盘导致重启系统失败
CentOS_网络
centos路由配置
Linux 系统添加永久静态路由
centos 添加删除路由
Linux下使用TC实现网络限流
linux系统下的wifi启动不了
hosts文件配置
网络端口
Centos 网卡命名规则
Centos命令行中nmtui调用图形界面设置网卡
查看CentOS网口的使用带宽
linux抓包工具tcpdump
定时备份删除文件
定时删除n日前的文件
备份指定目录下的文件
检查定时备份是否执行
inotify+rsync实时同步
rsync+lsync
CentOS7 使用SMTP发送邮件
Centos7部署开源SSH蜜罐cowrie
Centos7磁盘相关命令
centos 7 新增硬盘 分区并挂载
centos7加硬盘给根分区扩容--lvm模式
Linux中对lvm逻辑卷分区大小的调整(针对xfs与ext4不同文件系统)
CentOS7挂载4T磁盘
Centos7_NFS
CentOS7挂载samba共享文件夹
vsftpd主动模式和被动模式
CentOS清除旧硬盘格式
CentOS磁盘读写性能测试
硬盘IO查看分析工具iostat
Linux迁移home目录到根目录-需LVM分区
使用 smartctl 命令检查硬盘的状态
lsof列出正在使用某个文件夹
/dev/disk 目录
本文档由 内网文摘 发布,转载请注明出处
-
+
首页
linux抓包工具tcpdump
`tcpdump` 是一个功能强大的命令行网络分析工具,它可以捕获经过网络接口的数据包,并提供详细的信息。 tcpdump抓取数据包不会中断数据的传输。它的作用类似于一个网络嗅探器,它监听网络接口上的数据包,但不会对这些数据包进行修改或干扰。 安装 ``` yum install tcpdump tcpdump --version ``` ### 常见的 `tcpdump` 抓包实例: 1. **捕获所有经过接口的数据包**: ```bash tcpdump ``` 2. **只捕获到达指定接口的数据包**: ```bash tcpdump -i eth0 ``` 3. **根据协议过滤,例如只捕获TCP协议的数据包**: ```bash tcpdump -i eth0 tcp ``` 4. **根据源地址或目的地址过滤**: ```bash tcpdump -i eth0 src 192.168.1.1 tcpdump -i eth0 dst 192.168.1.2 ``` 5. **根据端口号过滤,例如只捕获端口80(HTTP)的数据包**: ```bash tcpdump -i eth0 port 80 ``` 6. **使用复杂的过滤器**: ```bash tcpdump -i eth0 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x0a0b0c0d' ``` 这个例子中,过滤器检查TCP数据包的序列号字段。 7. **限制捕获的数据包数量**: ```bash tcpdump -i eth0 -c 100 ``` 这个命令将只捕获100个数据包。 8. **将捕获的数据包写入文件**: ```bash tcpdump -i eth0 -w capture.pcap tcpdump -i eth0 -w /path/to/your/capture.pcap ``` 捕获的数据包将被保存到 `capture.pcap` 文件中。 9. **从文件中读取数据包**: ```bash tcpdump -r capture.pcap ``` 10. **实时显示数据包的ASCII码表示**: ```bash tcpdump -i eth0 -x ``` 11. **设置数据包捕获的缓冲区大小**: ```bash tcpdump -i eth0 -B 100000 ``` 这个命令设置了100000字节的缓冲区大小。 12. **使用 `tcpdump` 进行网络故障排除**: ```bash tcpdump -i eth0 -n -vvv -s 0 ``` 这个命令使用不解析主机名、详细模式和不截断TCP数据包的选项来捕获数据包。 13. **捕获特定类型的数据包,例如ICMP**: ```bash tcpdump -i eth0 icmp ``` 14. **使用 `tcpdump` 捕获广播或多播数据包**: ```bash tcpdump -i eth0 broadcast tcpdump -i eth0 multicast ``` 15. **结合 `grep` 过滤输出**: ```bash tcpdump -i eth0 and port 80 | grep 'HTTP' ``` 这个命令捕获所有到达端口80的数据包,并使用 `grep` 过滤出包含 'HTTP' 字符串的数据包。 这些只是 `tcpdump` 的一些基本用法。由于 `tcpdump` 支持强大的过滤表达式和选项,你可以根据自己的需求进行各种复杂的数据包捕获和分析。 ### tcpdump抓取指定主机的数据包 抓取主机192.168.1.1相关的数据包 要使用 `tcpdump` 抓取与特定主机(例如 IP 地址为 `192.168.1.1`)相关的数据包,你可以使用 `src`(源地址)和 `dst`(目的地址)过滤器。以下是一些示例命令: 1. **捕获从主机 `192.168.1.1` 发出的所有数据包**: ```bash tcpdump -i any src 192.168.1.1 ``` 这里 `-i any` 表示在所有网络接口上捕获数据包。 2. **捕获发送到主机 `192.168.1.1` 的所有数据包**: ```bash tcpdump -i any dst 192.168.1.1 ``` 3. **同时捕获从和发送到 `192.168.1.1` 的数据包**: ```bash tcpdump -i any src 192.168.1.1 or dst 192.168.1.1 ``` 4. **捕获 `192.168.1.1` 主机通过指定接口发出或接收的TCP数据包**: ```bash tcpdump -i eth0 tcp src 192.168.1.1 or tcp dst 192.168.1.1 ``` 5. **捕获 `192.168.1.1` 主机在特定端口上的TCP数据包**(例如端口80): ```bash tcpdump -i eth0 tcp port 80 and (src 192.168.1.1 or dst 192.168.1.1) ``` 6. **限制捕获的数据包数量**(例如只捕获前10个数据包): ```bash tcpdump -i any src 192.168.1.1 -c 10 ``` 7. **将捕获的数据包写入文件**: ```bash tcpdump -i any src 192.168.1.1 -w capture.pcap ``` 8. **实时显示数据包的详细信息**(不解析域名): ```bash tcpdump -i any src 192.168.1.1 -n ``` 9. **捕获但不立即打印数据包,而是在用户输入 Ctrl+C 后打印**: ```bash tcpdump -i any src 192.168.1.1 -q ``` 10. **捕获并实时显示数据包的十六进制和 ASCII 表示**: ```bash tcpdump -i any src 192.168.1.1 -x ``` 请注意,使用 `tcpdump` 时,你可能需要管理员权限,因此在某些情况下,你可能需要在命令前加上 `sudo`。 此外,`any` 关键字表示在所有网络接口上捕获数据包,如果你知道流量通过特定的接口,使用该接口名称(如 `eth0`)替换 `any` 可以提高性能并减少无关数据包的捕获。
local
2024年7月23日 18:06
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 LocalNetwork
LocalNetwork
是由mrdoc开源
LocalNetwork.cn
修改的在线文档系统,作为个人和小型团队的云笔记、文档和知识库管理工具。
如果此文档给你或你的团队带来了帮助,欢迎支持作者持续投入精力更新和维护!内网文摘 & LocalNetwork
>>>主页
logo
logo
下载Markdown文件
分享
链接
类型
密码
更新密码