<dl id='ctk5x'></dl>
      <acronym id='ctk5x'><em id='ctk5x'></em><td id='ctk5x'><div id='ctk5x'></div></td></acronym><address id='ctk5x'><big id='ctk5x'><big id='ctk5x'></big><legend id='ctk5x'></legend></big></address><span id='ctk5x'></span>
      <i id='ctk5x'><div id='ctk5x'><ins id='ctk5x'></ins></div></i>
    1. <tr id='ctk5x'><strong id='ctk5x'></strong><small id='ctk5x'></small><button id='ctk5x'></button><li id='ctk5x'><noscript id='ctk5x'><big id='ctk5x'></big><dt id='ctk5x'></dt></noscript></li></tr><ol id='ctk5x'><table id='ctk5x'><blockquote id='ctk5x'><tbody id='ctk5x'></tbody></blockquote></table></ol><u id='ctk5x'></u><kbd id='ctk5x'><kbd id='ctk5x'></kbd></kbd>
    2. <ins id='ctk5x'></ins>

      <code id='ctk5x'><strong id='ctk5x'></strong></code>
        <fieldset id='ctk5x'></fieldset>
        <i id='ctk5x'></i>

            Linux系统抓包命令tcpdump使用实例

            • 时间:
            • 浏览:10
            • 来源:124软件资讯网

                tcpdump是linux下令行下常用的的一个抓包工具  ,记载一下平时常用的方式  ,测试机械系统是ubuntu 12.04  。

                tcpdump的下令花样

                tcpdump的参数众多  ,通过man tcpdump可以检察tcpdump的详细说明  ,这边只列一些笔者自己常用的参数:

                tcpdump [-i 网卡] -nnAX '表达式'

                各参数说明如下:

                -i:interface 监听的网卡 。

                -nn:表现以ip和port的方式显示泉源主机和目的主机  ,而不是用主机名和服务  。

                -A:以ascii的方式显示数据包 ,抓取web数据时很有用 。

                -X:数据包将会以16进制和ascii的方式显示  。

                表达式:表达式有许多种 ,常见的有:host 主机;port 端口;src host 发包主机;dst host 收包主机  。多个条件可以用and、or组合  ,取反可以使用!  ,更多的使用可以检察man 7 pcap-filter  。

                下面举行一些下令测试  ,若是没有权限  ,可以先切换成root用户  。

                监听网卡eth0

                $ tcpdump -i eth0

                这个方式最简朴了 ,可是用处不多  ,由于基本上只能看到数据包的信息刷屏  ,压根看不清 ,可以使用ctrl+c中止退出 ,若是真有需求 ,可以将输出内容重定向到一个文件  ,这样也更利便检察 。

                监听指定协议的数据

                $ tcpdump -i eth0 -nn 'icmp'

                这个是用来监听icmp协议的数据 ,就是ping下令使用的协议  。类似的 ,若是要监听tcp或者是udp协议  ,只需要修改上例的icmp就可以了  。ping下监听的机械  ,输出如下:

                linux使用tcpdump抓包示例

                每一行的各个数据表现的寄义:

                抓到包的时间 IP 发包的主机和端口 > 吸收的主机和端口 数据包内容

                监听指定的主机

                $ tcpdump -i eth0 -nn 'host 192.168.1.231'

                这样的话  ,192.168.1.231这台主机吸收到的包和发送的包都市被抓取  。

                $ tcpdump -i eth0 -nn 'src host 192.168.1.231'

                这样只有192.168.1.231这台主机发送的包才会被抓取  。

                $ tcpdump -i eth0 -nn 'dst host 192.168.1.231'

                这样只有192.168.1.231这台主机吸收到的包才会被抓取  。

                监听指定端口

                $ tcpdump -i eth0 -nnA 'port 80'

                上例是用来监听主机的80端口收到和发送的所有数据包  ,联合-A参数  ,在web开发中  ,真是很是有用  。

                监听指定主机和端口

                $ tcpdump -i eth0 -nnA 'port 80 and src host 192.168.1.231'

                多个条件可以用and ,or毗连  。上例表现监听192.168.1.231主机通过80端口发送的数据包  。

                监听除某个端口外的其它端口

                $ tcpdump -i eth0 -nnA '!port 22'

                若是需要清除某个端口或者主机 ,可以使用“!”符号  ,上例表现监听非22端口的数据包  。

                小结:

                tcpdump这个功效参数许多 ,表达式的选项也很是多  ,很是强盛  ,不外常用的功效确实不多  。详情可以通过man检察系统手册 。

                另外在抓取web包的时间  ,发送网页内容都是很希奇的字符 ,发现是apache开启了gzip压缩的缘故  ,关闭掉gzip压缩就可以了  。在ubuntu 12.04下  ,编辑vim /etc/apache2/mods-enabled/deflate.load文件  ,将加载模块deflate_module的语句注释掉  ,然后重启apache就OK了  。