欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


Apache服务器下配置URL 态化的Rewrite规则
ISAPI_Rewrite 各版本301转向大全
linux中文文件名乱码
如何让Win7系统笔记本任务栏图标居中显示
win764位旗舰版批量修改照片名
win7系统卸后启动菜单怎样删除
win7自动关机原因有哪些
memcached怎么安装和使用?
Linux/MAC服务管理
Linux下压缩/解压方法大全
Linux系统抓包命令tcpdump使用实例
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

   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使用实例 三联

  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了。

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站