![linux中tcpdump的详细用法](http://img.jiangsulong.com/220418/0216032148-0.jpg)
文章插图
在调试网络通信程序是tcpdump是必备工具 。tcpdump很强大 , 可以看到网络通信的每个细节 。如TCP , 可以看到3次握手 , PUSH/ACK数据推送 , close4次挥手 , 全部细节 。包括每一次网络收包的字节数 , 时间等 。
tcpdump的选项
- -a —— 将网络地址和广播地址转变成名字
- -d —— 将匹配信息包的代码以人们能够理解的汇编格式给出
- -dd —— 将匹配信息包的代码以C语言程序段的格式给出
- -ddd —— 将匹配信息包的代码以十进制的形式给出
- -e —— 在输出行打印出数据链路层的头部信息
- -f —— 将外部的Internet地址以数字的形式打印出来
- -l —— 使标准输出变为缓冲行形式
- -n —— 不把网络地址转换成名字
- -nn: 指定将每个监听到的数据包中的域名转换成IP、端口从应用名称转换成端口号后显示
- -s 从每个分组中读取最开始的snaplen个字节 , 而不是默认的68个字节 。-s0 防止包截断
- -t —— 在输出的每一行不打印时间戳
- -v —— 输出一个稍微详细的信息 , 例如在ip包中可以包括ttl和服务类型的信息
- -vv —— 输出详细的报文信息
- -c —— 在收到指定的包的数目后 , tcpdump就会停止
- -F —— 从指定的文件中读取表达式,忽略其它的表达式
- -i —— 指定监听的网络接口 , 如果不指定网卡 , 默认tcpdump只会监视第一个网络接口 , 一般是eth0
- -r —— 从指定的文件中读取包(这些包一般通过-w选项产生)
- -w —— 直接将包写入cap文件中 , 并不分析和打印出来,一般配合wireshark分析
- -T —— 将监听到的包直接解释为指定的类型的报文 , 常见的类型有rpc (远程过程调用)和snmp(简单网络管理协议)
- -X 告诉tcpdump命令 , 需要把协议头和包内容都原原本本的显示出来(tcpdump会以16进制和ASCII的形式显示) , 这在进行协议分析时是绝对的利器 。
tcpdump的表达式
类型的关键字要包括host , net , port
例如 host 210.27.48.2 , 指明 210.27.48.2是一台主机 , net 202.0.0.0 指明 202.0.0.0是一个网络地址 , port 23 指明端口号是23 。如果没有指定类型 , 缺省的类型是host.
传输方向的关键字 , 主要包括src , dst ,dst or src, dst and src ,这些关键字指明了传输的方向
例如 src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0。如果没有指明方向关键字 , 则缺省是src or dst关键字 。
协议的关键字 , 主要包括fddi,ip,arp,rarp,tcp,udp等类型 。Fddi指明是在FDDI(分布式光 纤数据接口网络)上的特定的网络协议 , 实际上它是”ether”的别名 , fddi和ether具有类似的源地址和目的地址 , 所以可以将fddi协议包当作 ether的包进行处理和分析 。其他的几个关键字就是指明了监听的包的协议内容 。如果没有指定任何协议 , 则tcpdump将会监听所有协议的信息包 。
其他重要的关键字:gateway, broadcast,less,greater,还有三种逻辑运算 , 取非运算是 ‘not ‘ ‘! ‘, 与运算是’and’,'&&’;或运算 是’or’ ,’││’;这些关键字可以组合起来构成强大的组合条件来满足人们的需要 , 下面举几个例子来说明 。
A)跟10.66.151.82:6379(redis服务器)交互的所有tcp数据包(双向):
tcpdump tcp port 6379 and host 10.66.151.82 -X
16:53:01.883032 phpmianshi.com.36822 > 10.66.151.82.6379: Flags[S], seq 1943657014, win 29200, options [mss 1460,sackOK,TS val 814732894 ecr 0,nop,wscale 7], length 016:53:01.883220 IP 10.66.151.82.6379 > phpmianshi.com.36822: Flags [S.], seq 453036003, ack 1943657015, win 14480, options [mss 1424,sackOK,TS val 4119054316 ecr 814732894,nop,wscale 7], length 016:53:01.883234 IP phpmianshi.com.36822 > 10.66.151.82.6379: Flags [.], ack 1, win 229, options [nop,nop,TS val 814732894 ecr 4119054316], length016:53:01.883358 IP phpmianshi.com.36822 > 10.66.151.82.6379: Flags [P.], seq 1:47, ack 1, win 229, options [nop,nop,TS val 814732894 ecr 4119054316], length 29: RESP "AUTH" "password"
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 地理标志产品,海南白沙绿茶入编中国地理标志产品大典
- Linux 建立本地yum源
- 网络防御-防火墙设置IP网段规则
- 同样的内核,为什么linux干净稳定,而android臃肿又乌烟瘴气?
- RedHat Linux系统U盘安装图文教程
- 大学|31岁中国老将火了!从野球场到德国联赛,此前在国内遭潜规则淘汰
- 陈乳中草茶是怎么样,龙芽草茶
- 茶道操作十三流程,学习中国正宗的茶道
- 地产广告公司排名大全
- 减肥多吃牛肉,推荐三款食谱