1.由netstat查看网络情况,引出的TCP建立连接、终止连接过程,以及TCP状态分析;

2.Soap=XML+HTTP引出的HTTP协议分析;

3.Soap(Simple Object Access Protocol)简单对象访问协议分析及应用;

4.番外一:awk的使用

5.番外二:Linux下抓包工具

--------------------------篇四-------------------------------------

这篇讲linux下的抓包工具。

抓包工具比较好用的有两个,一个是snort,一个是tcpdump,这次不说snort了,觉得这个工具虽然很强大,但是比较复杂,还是tcpdump比较简单。tcpdump windows、linux版本均有。linux版本可以在以下网站下载:www.tcpdump.org.

安装好tcpdump之后,运行tcpdump:

1. tcpdump -D 获取网络适配器列表,以下是在windows上获取到的结果:

1.\Device\PssdkLoopback (PSSDK Loopback Ethernet Emulation Adapter)
2.\Device\{CF587901-C85F-4FD6-896F-D977DEFE76EC} (Intel(R) PRO/100 VE Network Co
nnection)

2. tcpdump -i <需要监控的网络适配器编号>,例如我想监控lo(127.0.0.1),即上面列表中的1.\Device\PssdkLoopback: (windows上特有的,linux不适用)

tcpdump -i 1

如果不使用-i来定义监控适配器的话,默认使用列表中的第一个;

3. 监控主机为192.9.200.59上8000端口的tcp协议:

tcpdump host 192.9.200.59 and tcp port 8000

4. 如果想要显示数据包的内容,需要使用-X参数,如,我想要显示捕获的http数据包http header的内容:

tcpdump -X host 192.9.200.59 and tcp port 8000

显示结果如下:

22:13:19.717472 IP testhost59.12535 > liujuan59.8000: . 1:330(329) ack 1 win 327
8
        0x0000:  4500 0171 e616 0000 8006 cb2b 0000 0000  E..q.......+....
        0x0010:  c009 c83b 30f7 1f40 0000 0002 0000 0002  ...;0..@........
        0x0020:  5010 8000 b066 0000 504f 5354 202f 2048  P....f..POST./.H
        0x0030:  5454 502f 312e 310d 0a43 6f6e 7465 6e74  TTP/1.1..Content
        0x0040:  2d54 7970 653a 2074 6578 742f 786d 6c3b  -Type:.text/xml;
        0x0050:  2063                                     .c

可以看到该结果只显示了http头的一部分,没有显示全,是因为tcpdump默认将显示的数据长度截断了,可以使用-s后面加数据长度,来设置数据显示长度:

tcpdump -X -s 0 host 192.9.200.59 and tcp port 8000

以上的例子中,-s 0 表示自动设置长度使其能够显示所有数据。

5. 捕获的数据太多,不断刷屏,可能需要将数据内容记录到文件里,需要使用-w参数:

tcpdump -X -s 0 -w aaa host 192.9.200.59 and tcp port 8000

则将之前显示在屏幕中的内容,写入tcpdump可执行文件同级目录下的aaa文件中。

文件查看方式如下,需要使用-r参数:

tcpdump -X -s 0 -r aaa host 192.9.200.59 and tcp port 8000

如果这样写:

tcpdump -r aaa

则只能看到最简单的数据传输交互过程,看不到数据包内容,查看时也需要使用相应的参数。

6.总结

总结一下,tcpdump的参数分两个部分,选项(Options)和表达式(expression):

tcpdump[-adeflnNOpqRStuvxX] [-ccount]
               [-Cfile_size] [-Ffile]
               [-iinterface] [-mmodule] [-rfile]
               [-ssnaplen] [-Ttype] [-wfile]
               [-Ealgo:secret] [expression]

linux下的抓包工具tcpdump的更多相关文章

  1. linux日常管理-抓包工具tcpdump和tshark

    抓包工具:查看什么数据占用网卡,把带宽跑满了. 命令:tcpdump 选项:host 指定IP port 指定端口 -c 指定包数量 -w 指定写入文件,不加显示的不是流量包而是流量走向 -nn 作用 ...

  2. linux自带抓包工具tcpdump使用说明

    tcpdump是个强大的网络分析工具,有很多细致的规则可以定义. 参考:http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html ...

  3. Linux抓包工具tcpdump

    Linux抓包工具tcpdump http://www.xuchanggang.cn/archives/1107.html

  4. linux下抓包工具tcpdump详解

    本文转自:http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html 简介 用简单的话来定义tcpdump,就是:dump the ...

  5. Linux下抓包工具tcpdump应用详解

      TCPDUMP简介 在传统的网络分析和测试技术中,嗅探器(sniffer)是最常见,也是最重要的技术之一.sniffer工具首先是为网络管理员和网络程序员进行网络分析而设计的.对于网络管理人员来说 ...

  6. [转] Linux抓包工具tcpdump详解

    http://www.ha97.com/4550.html PS:tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使 ...

  7. Linux抓包工具tcpdump详解

    tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具. tcpd ...

  8. linux抓包工具tcpdump基本使用

    tcpdump 是一款灵活.功能强大的抓包工具,能有效地帮助排查网络故障问题. tcpdump 是一个命令行实用工具,允许你抓取和分析经过系统的流量数据包.它通常被用作于网络故障分析工具以及安全工具. ...

  9. Linux抓包工具tcpdump命令详解

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

随机推荐

  1. 在npm上发布一个自己的包

    1.首先你要在npm上创建一个账号,这里需要输入邮箱的,注意激活邮箱否则无法publish自己的包 2.在本地创建一个文件夹,输入npm init初始化项目,这里是我使用npm init创建的pack ...

  2. 观光公交 [NOIP 2011] [思维推导]

    Description 风景迷人的小城Y 市,拥有n 个美丽的景点.由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车,为游客提供更便捷的交通服务.观光公交车在第0 分钟出现在1号景点,随后依 ...

  3. bzoj1708:[Usaco2007 Oct]Money奶牛的硬币(完全背包

    1708: [Usaco2007 Oct]Money奶牛的硬币 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 797  Solved: 540[Submi ...

  4. 登录页面加密token和盐的作用

    盐: 可以说盐是作用于注册,盐就是将用户输入的原始密码,加密后存进数据库,然后把盐(实际上是随机字符串)也存进数据库 Map<String, String> map = new HashM ...

  5. Linux之安装python

    # yum install zlib-devel -y # tar -xf Python-3.6.0 cd Python-3.6.0 # ./configure --prefix=/usr/local ...

  6. Hibernate(7)关联关系_单向1对n

    1.单向一对多(@OneToMany)关联是比较少用的(一般用双向一对多代替). 2.实体类: 1端:Publishers.java public class Publishers { private ...

  7. PowerBI发布到网页

    如果网页当中需要嵌入PowerBI的报表,可以在PowerBI当中生成链接,然后网页或者博客当中插入这一段html代码. 以下是PowerBI生产网页链接的示例,并且在博客的最后也插入了PowerBI ...

  8. 解决telnet无法连接 Connection refused

    telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式.它为用户提供了在本地计算机上完成远程主机工作的能力.在终端使用者的电脑上使用telnet程序,用它连接 ...

  9. [Web 前端] mobx教程(二)-mobx主要概念

    cp from : https://blog.csdn.net/smk108/article/details/84960159 通过<Mobx教程(一)-Mobx简介>我们简单理解了Mob ...

  10. hibernate JPA 使用懒加载时代理对象

    hibernate延迟加载代理对象实际对象读取方式 public static <T> T deproxy (T obj) { if (obj == null) return obj; i ...