tcpdump相当于是wireshark的命令行版本

环境:VMware-Workstation-12-Pro,Windows-10,CentOS-6.9-x86_64,Xshell5

大旨介绍

tcpdump是Linux自带的抓包工具,能够详细看看Computer通信中详尽报文内容,假诺读者了然另一款
强硬的抓包工具wireshark,tcpdump约等于是wireshark的命令行版本。dump那一个单词有破烂,
倒垃圾的情致,在微型Computer希伯来语中的含义是转存。

tcpdump官网:
This is the official web site of tcpdump, a powerful command-line packet
analyzer;

查阅本机tcpdump的版本

[root@as4k html]# tcpdump --version  
tcpdump version 4.1-PRE-CVS_2017_03_21  

tcpdump的新星版本
Version: 4.9.2
Release Date: September 3, 2017

合匈牙利(Magyarország)语档:
的课程,比较多大拿的博客都有借鉴此文的内容。

那是什么鬼

TCPDUMP(8)                                                          TCPDUMP(8)  

NAME  
       tcpdump - dump traffic on a network  

SYNOPSIS  
       tcpdump [ -AdDefIJKlLnNOpqRStuUvxX ] [ -B buffer_size ] [ -c count ]  
               [ -C file_size ] [ -G rotate_seconds ] [ -F file ]  
               [ -i interface ] [ -j tstamp_type ] [ -m module ] [ -M secret ]  
               [ -Q|-P in|out|inout ]  
               [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]  
               [ -W filecount ]  
               [ -E spi@ipaddr algo:secret,...  ]  
               [ -y datalinktype ] [ -z postrotate-command ] [ -Z user ]  
               [ expression ]  

上边是tcpdump,man page里面包车型大巴开始和结果,oh my
god!这么多参数,本文当然不大概逐条介绍上边的剧情,
我们先直接通过一些简易的案例看看效果,然后交到一些广泛参数的用法。

基本功案例

观看DNS深入分析情状

咱们知道,Linux系统要想健康访谈互连网,需求正确配置DNS深入分析,现在我们早就安顿了Ali云的DNS
tcpdump相当于是wireshark的命令行版本。223.6.6.6,大家想看一下DNS解析是还是不是正规,就足以采纳tcpdump来抓取DNS包,准备好七个xshell
窗口,遵照如下格局操作

步骤1 tcpdump -n -i any port 53

图片 1

tcpdump相当于是wireshark的命令行版本。全心全意在root用户下使用tcpdump命令,-n代表绝不把IP地址分析成域名,-i代表抓取哪块网卡的通讯
数据包,any表示大肆一块,port是点名要抓取数据包的端口,DNS服务工作在53端口上,实行完结之
tcpdump相当于是wireshark的命令行版本。后,大家切换成第三个窗口,实行步骤2

步骤2 ping -c3 baidu.com
-c3表示和ping次停下,那时候大家的管理器和百度发出的通讯,窗口1的tcpdump就能够监听到我们的通讯
数码,相当于所谓的抓包,切换来窗口1,看到的多少大致如下

图片 2

在上海教室中我们可看出地面192.168.56.11,端口42711历程向Ali云DNS服务器223.6.6.6,乞请告知
baidu.com的IP地址是怎么样?Ali云的DNS服务器成功给了我们回复,因此能够注解,大家的DNS职业
tcpdump相当于是wireshark的命令行版本。正常。

tcpdump相当于是wireshark的命令行版本。若果抓取的DNS数据包,看起来向上边那样:

图片 3

从上航海用体育地方能够见见,大家总共发起了一次DNS查询要求,服务器才最终给我们回来了IP地址,那鲜明是不太日常的,
tcpdump相当于是wireshark的命令行版本。经过我们得以决断,此番网络卡慢的来头,应该出在DNS分析上。

以上便是利用tcpdump抓包来简单剖断互连网通讯处境。

抓取二个TCP包

第一大家清楚TCP三回握手分别是:ACK,SYN-ACK,ACK。上边大家就在Linux中简易搭建nginx服务器,
接下来利用tcpdump抓取tcp包看下。

设置nginx服务并运维

yum install nginx -y  
/etc/init.d/nginx start  

然后在windows浏览器中输入自身的IP地址,将会看出如下分界面

图片 4

在xshell中执行tcpdump -n -i eth0 port 80,eth0是自个儿方今网卡的称呼,然后在浏览器中刷新一下,
能够看到抓取到了之类内容

图片 5

能够见见,我们耳闻则诵的ACK,SYN-ACK,ACK一遍握手的音讯都出现了,表达我们TCP连接成功建构了。

毫无太过纠结于抓包细节,事实上tcp协议包涵比非常多的开始和结果,不能在此进行

tcpdump中最普遍的几个参数

-i 钦定要抓取数据包的网卡名称

tcpdump -i eth0 # 抓取eth0网卡的数据包  

-c 钦命抓取包的个数

tcpdump -i eth0 -c 10 # 只抓取10个包  

-w 把抓取到的数码贮存到文件中供之后深入分析

# tcpdump -i eth0 -c 10 -w my-packets.pcap  
# file my-packets.pcap   
my-packets.pcap: tcpdump capture file ....  

能够看来,大家保留的my-packets.pcap是一种卓殊文件,直接选择vim是无力回天查看的,能够把
该公文获得windows下,使用wireshark查看,效果如下

图片 6

-n 不分析ip,暗许会将ip解析成域名
内定过滤端口(port)和主机名(host)

tcpdump -n -i eth0 port 80  
tcpdump -n -i eth0 host baidu.com  
tcpdump -n -i eth0 host baidu.com and port 80  

参考资料

官方权威教程

漫画格局介绍tcpdump,特别风趣

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图