设为首页 收藏本站
查看: 476|回复: 0

[经验分享] Linux下抓包工具tcpdump以及分析包的工具wireshark

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-4-24 09:24:34 | 显示全部楼层 |阅读模式
tcpdump是用来抓取数据的,wireshark则是用于分析抓取到的数据的。
一般需要安装,直接使用yum安装:yum -y install tcpdump即可。
Tcpdump使用方法
(1)关于类型的关键字主要包括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.

(2)确定传输方向关键字主要包括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关键字。

(3)协议的关键字,主要包括fddi,ip,arp,rarp,tcp,udp等类型。
Fddi指明是在FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是"ether"的别名,fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。

(4)其他重要的关键字如下:gateway, broadcast,less,greater,
    还有三种逻辑运算,取非运算'not '和'! ',    与运算是'and','&&';      或运算 是'or','││';

普通情况下,直接启动tcpdump将监视第一个网络界面上所有流过的数据包。
tcpdump输出格式
总的的输出格式为:系统时间 来源主机.端口 > 目标主机.端口 数据包参数

例如:tcpdump –i eth0 –c 10
使用-i参数指定tcpdump监听的网络界面,这在计算机具有多个网络界面时非常有用,
使用-c参数指定要监听的数据包数量,
使用-w参数指定将监听到的数据包写入文件中保存

A.截获主机172.16.14.107和主机172.16.14.27的通信
tcpdump host 172.16.14.107 and 172.16.14.27

B.想要截获主机172.16.14.107和主机172.16.14.27或172.16.14.99的通信,使用命令:(在命令行中使用括号时,一定要用’\’
tcpdump host 172.16.14.107 and \(172.16.14.27 or 172.16.14.99 \)

C.如果想要获取主机172.16.14.107除了和主机172.16.14.27之外所有主机通信的ip包,使用命令:
tcpdump ip host 172.16.14.107 and ! 172.16.14.27

D.如果想要获取主机172.16.14.107接收或发出的telnet包,使用如下命令:
tcpdump tcp port 23 and host 172.16.14.107

E.对本机的udp 123 端口进行监视 (123 为ntp的服务端口)
tcpdump udp port 123

F.系统将只对名为hostname的主机的通信数据包进行监视。主机名可以是本地主机,也可以是网络上的任何一台计算机。下面的命令可以读取主机hostname发送的所有数据:
tcpdump -i eth0 src host hostname

G.下面的命令可以监视所有送到主机hostname的数据包:
tcpdump -i eth0 dst host hostname
#src表示源,即发送
#dst表示目的地,即接收

H.我们还可以监视通过指定网关的数据包:
tcpdump -i eth0 gateway Gatewayname

I.如果你还想监视主机名hostname到指定端口的TCP或UDP数据包,那么执行以下命令:
tcpdump -i eth0 host hostname and tcp port 80

J.如果想要获取主机172.16.14.107接收或发出的telnet包,使用如下命令:
tcpdump tcp port 23 and host 172.16.14.107

K. 如果我们只需要列出送到80端口的数据包,用dst port 80;如果我们只希望看到返回80端口的数据包,用src port 80。
tcpdump –i eth0 host hostname and dst port 80  目的端口是80
或者
tcpdump –i eth0 host hostname and src port 80  源端口是80
80端口一般是提供http的服务的主机.

L.如果要用wireshark分析数据:
tcpdump -i eth0 -c 100 -s 0 -w /home/data.pcap
直接使用wireshark /home/data.pcap即可。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-18293-1-1.html 上篇帖子: U-Mail邮件系统客户无需担心OpenSSL心脏出血漏洞 下篇帖子: Linux 系统变量与环境变量 Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表