linux下的抓包工具tcpdump
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的更多相关文章
- linux日常管理-抓包工具tcpdump和tshark
抓包工具:查看什么数据占用网卡,把带宽跑满了. 命令:tcpdump 选项:host 指定IP port 指定端口 -c 指定包数量 -w 指定写入文件,不加显示的不是流量包而是流量走向 -nn 作用 ...
- linux自带抓包工具tcpdump使用说明
tcpdump是个强大的网络分析工具,有很多细致的规则可以定义. 参考:http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html ...
- Linux抓包工具tcpdump
Linux抓包工具tcpdump http://www.xuchanggang.cn/archives/1107.html
- linux下抓包工具tcpdump详解
本文转自:http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html 简介 用简单的话来定义tcpdump,就是:dump the ...
- Linux下抓包工具tcpdump应用详解
TCPDUMP简介 在传统的网络分析和测试技术中,嗅探器(sniffer)是最常见,也是最重要的技术之一.sniffer工具首先是为网络管理员和网络程序员进行网络分析而设计的.对于网络管理人员来说 ...
- [转] Linux抓包工具tcpdump详解
http://www.ha97.com/4550.html PS:tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使 ...
- Linux抓包工具tcpdump详解
tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具. tcpd ...
- linux抓包工具tcpdump基本使用
tcpdump 是一款灵活.功能强大的抓包工具,能有效地帮助排查网络故障问题. tcpdump 是一个命令行实用工具,允许你抓取和分析经过系统的流量数据包.它通常被用作于网络故障分析工具以及安全工具. ...
- Linux抓包工具tcpdump命令详解
1.简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中 ...
随机推荐
- python系统编程(十)
多线程-非共享数据 对于全局变量,在多线程中要格外小心,否则容易造成数据错乱的情况发生 1. 非全局变量是否要加锁呢? #coding=utf-8 import threading import ti ...
- shell脚本使用技巧7--cat
cat是单词concatenate缩写 echo 'text through stdin' | cat - file.txt 输出:text throgh stdin 和file.txt中的内容: c ...
- BZOJ4012[HNOI2015]开店——树链剖分+可持久化线段树/动态点分治+vector
题目描述 风见幽香有一个好朋友叫八云紫,她们经常一起看星星看月亮从诗词歌赋谈到 人生哲学.最近她们灵机一动,打算在幻想乡开一家小店来做生意赚点钱.这样的 想法当然非常好啦,但是她们也发现她们面临着一个 ...
- windows上redis添加密码
命令: config get requirepass config set requirepass pwd redis-server.exe redis-windows.conf. auth pw ...
- 策略梯度训练cartpole小游戏
我原来已经安装了anaconda,在此基础上进入cmd进行pip install tensorflow和pip install gym就可以了. 在win10的pycharm做的. policy_gr ...
- 自定义UIPickView
效果图 源码 https://github.com/YouXianMing/Animations 说明 1. 数据适配器PickerViewDataAdapter含有PickerViewCompone ...
- Shader、Draw Call和渲染管线(Rendering Pipeline)
翻阅了很多资料,也做了不少笔记,决定还是对渲染进行一个总结,以巩固所学的东西. <Real-Time Rendering, Third Edition> (PDF的配图链接)将一个渲染 ...
- Docker学习笔记1 -- 刚入手docker时的几个命令
目录 Hello World 后台运行 停止运行 容器 载入镜像 指定端口映射 查看日志 查看应用的进程 登入镜像内部 移除容器 镜像 查看本地镜像 拉取镜像 查找镜像 更新镜像 构建镜像 设置镜像标 ...
- mysql 让id字段 以1000 形式开头
eg: alter table t_location AUTO_INCREMENT=1000;
- echarts中tooltip提示框位置控制
关键代码: position: function(point, params, dom, rect, size) { //其中point为当前鼠标的位置,size中有两个属性:viewSize和con ...