tcpdump简介

tcpdump是Linux系统下的一款抓包命令集,工作原理是基于网卡抓取流动在网卡上的数据包。在Linux系统中由于tcpdump命令的简单和强大,我们一般直接使用tcpdump命令来抓取数据包。保存之后,拖下来在wireshark中分析。

怎样判断你的Linux系统中是否有tcpdump呢?很简单输入一下命令:

tcpdump -h

若出现以下信息,恭喜你躲过一劫(Linux一般会自带)。

如果没有那么得先在Linux安装这个软件了。你以为很难么,一行命令就搞定啦:

yum install -y tcpdump

安装完成之后敲入命令:

tcpdump -h

能够出现上面的信息以及帮助,证明你已经成功安装好了。

现在,你以为你输入tcpdump就能抓包了吗?啊哈哈可以的,能抓取到所有经过第一个网卡的数据包哦。但是,表着急,在这样的数据包中查看我们感兴趣的数据,那堪比大海捞针呐,所以先学习吧。

来看看tcpdump命令的一些参数说明吧先~

tcpdump -D        #列出可用于tcpdump抓取数据包的网卡列表

来说下:

eth0     //表示该服务器的第一块网卡,一般我们tcpdump抓包都使用这块网卡来抓取。可能有eth1,eth2等等
nflog    //Linux下的网络过滤网卡,一般我们不使用它
nfqueue   //Linux网络过滤队列接口,一般不使用它
usbmon1 //USB总线接口,一般不使用它
any   //任何网卡接口
lo    //指的是该主机的回环地址(127.0.0.1),一般用来测试网络专用,一般的数据都不通过这块网卡,所以我们用tcpdump抓包的时候也不使用这块网卡。

了解了这个之后,我们来看下服务器下有哪些网卡,输入:

ifconfig                //这可不是Windows下的ipconfig哦,不要记混了

看见没有,我的系统有两块网卡,我们使用第一块。

我们现在使用tcpdump的第一个命令

tcpdump    //抓取通过第一个网卡的数据包,并将信息打印在屏幕上实时显示出来

这么容易吗?哈哈,那服务器的网卡不是有多个吗?我想抓取指定网卡的数据包怎么办呢?

tcpdump -i eth0  //抓取通过eth0网卡的数据包,信息实时打印在屏幕上。-i表示指定哪个网卡接口,后面跟网卡名字,比如eth0或者lo

这样够了吗?哈哈,和eth0网卡会话的目的地址可多了,我只关心并找到和某一个IP地址之间会话的数据怎么办呢?

tcpdump -i eth0 host 192.39.45.66  //抓取该网卡和该IP地址会话的数据包,实时打印在屏幕上,host后面跟IP地址或者域名,比如也可以写成host www.baidu.com

哈哈,这样,好像有点味道了哟,但是还不满足哦,我只想查看所有192.39.45.66发送给服务器的数据包呢?(说白了就是我的服务器接收到的数据)

tcpdump -i eth0 src host 192.39.45.66  //抓取所有该网卡和该IP之间,收到的数据,src表示服务器收到的数据,如果该参数缺省,默认抓取所有数据

我只想查看服务器网卡eth0发送给192.39.45.66的所有数据包呢?(说白了就是我的服务器发出去的数据)

tcpdump -i eth0 dst host 192.39.45.66  //抓取所有该网卡和该IP之间,收到的数据,dst表示服务器发出去的数据,如果该参数缺省,默认抓取所有数据

哈哈,但是,有个问题,我想查看这个网卡下,某个端口号和目的IP会话的数据包,比如8080端口,怎么办啊?这里如果端口和IP地址同时存在的话,需要加and

tcpdump -n -i eth0 port  and host 192.39.45.66    //查看8080端口号的会话数据包,port表示端口号,后面比如跟8080。-n表示不对具体ip地址做域名解析,直接显示会话两边的具体ip地址

还有个小小的问题,我现在只需要抓取某种协议的数据包,其他类型不关心,怎么办?例如tcp或者udp协议的数据包

注:如果没有标明抓取哪种协议类型的数据包,默认抓取全部协议类型的数据哦

tcpdump -n -i eth0 port  and host 192.39.45.66 tcp

到这里,你都觉得好像可以了哈,但是有个很重要的问题,不是说好的Linux用tcpdump,Windows下用wireshark来分析吗?这打印在屏幕上,怎么分析嘛,应该有个保存成某个文件的命令,下载到windows中用wireshark打开才对吧?

使用Linux的tcpdump命令结合Windows的wireshark抓包和分析的更多相关文章

  1. tcpdump+wireshark抓包分析

    上一篇文章中,我们介绍了tcpdump如何抓包. tcpdump是命令行下便捷的抓包和分析工具,但使用方式不够友好, wireshark是带图形化界面的抓包和分析工具,操作简便,但需要主机有显示器. ...

  2. linux下tcpdump命令详解

    简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的 ...

  3. Linux使用tcpdump命令抓包并使用wireshark分析

    Linux使用tcpdump命令抓包并使用wireshark分析 介绍 有时分析客户端和服务器网络交互的问题时,为了查找问题,需要分别在客户端和服务器上抓包,我们的客户端一般是windows上的,抓包 ...

  4. Linux tcpdump命令详解与Wireshark

    简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的 ...

  5. Linux的ls命令在Windows中的应用

    Linux的ls命令在Windows中的应用 注:ls是Linux中的命令.其作用是列出当前目录下的文件与文件夹.效果等同于Wndows中的dir指令. 如下图 下面是详细步骤 步骤一.在桌面新建一个 ...

  6. 抓包及分析(wireshark&tcpdump)

    1.简介 Wireshark是一个网络协议检测工具,支持Windows平台和Unix平台,我一般只在Windows平台下使用Wireshark,如果是Linux的话,我直接用tcpdump了,因为我工 ...

  7. 【测试工具】tcpdump + wireshark 抓包实践

    Tcpdump + Wireshark 抓包实践 工具介绍 Tcpdump 看到dump大家应该有所意识吧,就是下载数据,抓数据.tcpdump是linux下的一个抓取tcp包的命令 Usage: t ...

  8. SecureCRT远程ssh linux服务器,利用X11本地图形化wireshark抓包,

    平时学习抓包,使用wireshark很方便,直接图形化界面抓包,近期项目中遇到了需要通过SecureCRT ssh到linux服务器上面,还要在抓包, 1.简单使用网络数据包截获分析工具tcpdump ...

  9. 【转】详解使用tcpdump、wireshark对Android应用程序进行抓包并分析

    原文网址:http://blog.csdn.net/gebitan505/article/details/19044857 本文主要介绍如何使用tcpdump和wireshark对Android应用程 ...

随机推荐

  1. lombok编译时注解@Slf4j的使用及相关依赖包

    slf4j是一个日志门面模式的框架,只对调用者开放少量接口用于记录日志 主要接口方法有 debug warn info error trace 在idea中可以引入lombok框架,使用@Slf4j注 ...

  2. spacemacs:emacs和vim结合,大杀器。vim党转emacs

    结合本人基础,做下述结论.不一定准确.  基础:  1. vim操作和高级操作,熟悉.使用的spf13-vim.  2. emacs以前学过,但是按键太累,相比vim简直难受.  3. emacs命令 ...

  3. 共享文件word / excel /ppt 被用戶自己锁定无法编辑-解決方法

    共享文件word / excel /ppt 被用戶自己鎖定無法編輯,但用戶嘗試過關閉所有文件和重啓過系統,依然無法編輯. 搜到解決方法: Just in case someone looking fo ...

  4. conda安装的国内镜像配置,实现快速下载

    conda安装的国内镜像配置,实现快速下载 anaconda的所有的软件包全部在国外,安装起来很麻烦,关键是下载速度慢,而且经常中断,所以需要配置国内安装的镜像,下载速度就很快了. 一.conda换国 ...

  5. FineReport做成之后如何在Tomcat上运行

    问题描述: 自己用FineReport做成的报表画面,要在Tomcat上运行启动 第一步:下载Tomcat 网址: http://tomcat.apache.org/download-80.cgi 下 ...

  6. [转帖]微软宣布即将开始大规模推送Windows 10 V1903重大版本更新

    微软宣布即将开始大规模推送Windows 10 V1903重大版本更新 https://www.cnbeta.com/articles/tech/894303.htm 微软要批量更新 1903了 bu ...

  7. NoSQL数据库一Redis基本使用

    基本操作 参考教程:https://www.yiibai.com/redis/Redis 是 Key-Value 内存数据库,操作是通过各种指令进行的,比如 SET 指令可以设置键值对,而 GET 指 ...

  8. libevent实现TCP 服务端

    libevent实现Tcp Server基于bufferevent实现 /******************************************************** Copyri ...

  9. wireguard使用方法

    1.翻墙访问网页:https://cryptostorm.is/wireguard.cgi 并下载客户端 2. 选者第二个并打开 3.复制publickey 4.黏贴在第二行并addkey: 5.将获 ...

  10. js — 对象

    目录 1. 字符串和数值之间转换 2. 对象(object) 3. 日期对象 4. 数学Math对象 5. 流程控制 6. 循环 1. 字符串和数值之间转换 1.字符串转数值 var str = '1 ...