<dl id='3x8ig'></dl>

  1. <i id='3x8ig'></i>

    <ins id='3x8ig'></ins><fieldset id='3x8ig'></fieldset><span id='3x8ig'></span>

    1. <tr id='3x8ig'><strong id='3x8ig'></strong><small id='3x8ig'></small><button id='3x8ig'></button><li id='3x8ig'><noscript id='3x8ig'><big id='3x8ig'></big><dt id='3x8ig'></dt></noscript></li></tr><ol id='3x8ig'><table id='3x8ig'><blockquote id='3x8ig'><tbody id='3x8ig'></tbody></blockquote></table></ol><u id='3x8ig'></u><kbd id='3x8ig'><kbd id='3x8ig'></kbd></kbd>

        <code id='3x8ig'><strong id='3x8ig'></strong></code>
      1. <i id='3x8ig'><div id='3x8ig'><ins id='3x8ig'></ins></div></i>
          <acronym id='3x8ig'><em id='3x8ig'></em><td id='3x8ig'><div id='3x8ig'></div></td></acronym><address id='3x8ig'><big id='3x8ig'><big id='3x8ig'></big><legend id='3x8ig'></legend></big></address>

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

          • 时间:
          • 浏览:12
          • 来源: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了  。