Linux网络管理之tcpdump命令 – 监听网络流量
        【摘要】 @[toc]tcpdump命令是一款sniffer工具,是linux上的抓包工具,嗅探器;它可以打印出所有经过网络接口的数据包的头信息。tcpdump命令工作时先要把网卡的工作模式切换到混杂模式。所以tcpdump命令需要以root身份运行。tcpdump命令是linux下使用最广泛的网络协议分析工具。使用tcpdump命令时,必须精通TCP/IP协议工作原理。 语法格式:tcpdump [...
    
    
    
    @[toc]
tcpdump命令是一款sniffer工具,是linux上的抓包工具,嗅探器;它可以打印出所有经过网络接口的数据包的头信息。
tcpdump命令工作时先要把网卡的工作模式切换到混杂模式。所以tcpdump命令需要以root身份运行。tcpdump命令是linux下使用最广泛的网络协议分析工具。使用tcpdump命令时,必须精通TCP/IP协议工作原理。
语法格式:
tcpdump [参数]
常用参数:
| -a | 尝试将网络和广播地址转换成名称 | 
| -c<数据包数目> | 收到指定的数据包数目后,就停止进行倾倒操作 | 
| -d | 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出 | 
| -dd | 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出 | 
| -ddd | 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出 | 
| -e | 在每列倾倒资料上显示连接层级的文件头 | 
| -f | 用数字显示网际网络地址 | 
| -F<表达文件> | 指定内含表达方式的文件 | 
| -i<网络界面> | 使用指定的网络截面送出数据包 | 
| -l | 使用标准输出列的缓冲区 | 
| -n | 不把主机的网络地址转换成名字 | 
| -N | 不列出域名 | 
| -O | 不将数据包编码最佳化 | 
| -p | 不让网络界面进入混杂模式 | 
| -q | 快速输出,仅列出少数的传输协议信息 | 
| -r<数据包文件> | 从指定的文件读取数据包数据 | 
| -s<数据包大小> | 设置每个数据包的大小 | 
| -S | 用绝对而非相对数值列出TCP关联数 | 
| -t | 在每列倾倒资料上不显示时间戳记 | 
| -tt | 在每列倾倒资料上显示未经格式化的时间戳记 | 
| -T<数据包类型> | 强制将表达方式所指定的数据包转译成设置的数据包类型 | 
| -v | 详细显示指令执行过程 | 
| -vv | 更详细显示指令执行过程 | 
| -x | 用十六进制字码列出数据包资料 | 
| -w<数据包文件> | 把数据包数据写入指定的文件 | 
| -i | 指定网卡 | 
| -nn | 显示ip不显示主机名 | 
| port | 指定端口 | 
参考实例:
监视指定网络接口的数据包:
[root@linuxcool ~]# tcpdump -i eth1
 
 监视指定主机的数据包:
[root@linuxcool ~]# tcpdump host linuxcool
 
 截获主机192.168.10.10 和主机192.168.10.20 或192.168.10.30的通信:
[root@linuxcool ~]# tcpdump host 192.168.10.10 and \ (192.168.10.20 or 192.168.10.30 \)
 
 抓取80端口的HTTP报文,以文本形式展示:
[root@linuxcool ~]# tcpdump -i any port 80 -A
 
 
              总文章在:Linux常用命令
 
            【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
                cloudbbs@huaweicloud.com
                
            
        
        
        
        
        
        
        - 点赞
 - 收藏
 - 关注作者
 
            
           
评论(0)