<span id='cuo5n'></span>
  1. <tr id='cuo5n'><strong id='cuo5n'></strong><small id='cuo5n'></small><button id='cuo5n'></button><li id='cuo5n'><noscript id='cuo5n'><big id='cuo5n'></big><dt id='cuo5n'></dt></noscript></li></tr><ol id='cuo5n'><table id='cuo5n'><blockquote id='cuo5n'><tbody id='cuo5n'></tbody></blockquote></table></ol><u id='cuo5n'></u><kbd id='cuo5n'><kbd id='cuo5n'></kbd></kbd>
  2. <i id='cuo5n'></i>

        <acronym id='cuo5n'><em id='cuo5n'></em><td id='cuo5n'><div id='cuo5n'></div></td></acronym><address id='cuo5n'><big id='cuo5n'><big id='cuo5n'></big><legend id='cuo5n'></legend></big></address>

        <code id='cuo5n'><strong id='cuo5n'></strong></code>

        <ins id='cuo5n'></ins>
      1. <fieldset id='cuo5n'></fieldset>

        <dl id='cuo5n'></dl>
        <i id='cuo5n'><div id='cuo5n'><ins id='cuo5n'></ins></div></i>

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

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