tcpdump 使用

1、指定要抓取的网卡

tcpdump -i eth0    (-i  即interface)

2、指定要抓取的协议

tcpdump -i eth0 icmp  抓取网卡eth0上的icmp包

 

虚拟机:(169.254.128.0)

用主机ping虚拟机

3、指定主机,抓取流入或流出169.254.0.1的包

tcpdump -i eth0 icmp and host 169.254.0.1            (169.254.0.1是主机网卡的IP)

先用虚拟机Ping baidu.com

一直没有抓到包,因为baidu.com的服务器ip不是指定的IP

用虚拟机Ping宿主机(Windows)

 

3-1  指定源主机,抓取由hostname发出的包

tcpdump -i eth0 src host hostname

tcpdump -i eth0 icmp and src host hostname    结合icmp

3-2 指定目的主机,抓取发往hostname的包

tcpdump -i eth0 icmp and dst hostname

 

4、抓取指定端口

tcpdump -i eth0 tcp port 22  (ssh端口为22)

tcpdump -i eth0 udp port number     抓指定udp端口

 

选项:

-n选项:不解析域名,而是直接显示IP

-nn选项:不解析域名,也不解析端口,直接显示IP的端口号。

比如上图,把22号端口解析为ssh

使用-nn

可以看到没有把22号端口解析为ssh,而是直接显示的端口号

 

-v 选项:显示详细信息

不用-v选项显示的信息

使用-v

可以看到更详细的信息(IP包头的ttl等字段)

-X 选项:用hex和ascii来显示报文的内容

-XX:比-X多显示以太网头

可以看到多了14个字节(以太网头部的长度)

-A:只用ascii打印报文内容,不显示hex部分

 

把抓到的包写到文件中,

tcpdump -i eth0 icmp -w cap_icmp_2.pcap

写到文件时,是不会在屏幕上显示的,稍等一会Ctrl+C中止。(icmp包)

可以看到已经保存了,可以使用WinSCP把文件拖到Windows中,用wireshark打开。

使用-r选项读出文件中保存的包

 

在学习tcpdump的时候,tcpdump命令会挂起,好像此时只能接收其他主机发过来的包,而不能主动向外发送数据包。

解决方法:

1、使用secureCRT 登陆虚拟机,一个发包,一个抓包

2、Linux中使用Ctrl+Alt+F1  -   F6  切换虚拟控制台

比如,在当前控制台打开tcpdump监听,Ctrl+Alt+F2切换到一个新的控制台,在这个控制台中发送数据包(ping baidu.com),然后Ctrl+Alt+F1返回到tcpdump的控制台中查看抓取包的情况。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值