tcpdump 命令行抓包工具
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。LaplaceDemon/SJQ。
http://www.cnblogs.com/shijiaqi1066/p/3898248.html
概述
tcpdump命令是Linux中的截包命令工具,强大且易于使用。tcpdump基于底层libpcap库开发,运行需要root权限。
基本使用与命令选项
例:截获主机收到和发出的所有数据包。
命令:tcpdump

说明:
tcpdump截取包默认显示数据包的头部。
基础格式:时间 数据包类型 源IP 端口/协议 > 目标IP 端口/协议 协议详细信息
按下Ctrl+C会终止tcpdump命令。且会在结尾处生成统计信息。

选项查看
命令:tcpdump --h

tcpdump version 4.1-PRE-CVS_2012_03_26 表示工具版本。
libpcap version 1.4.0 表示libpcap的版本。
选项:
-a 将网络地址和广播地址转变成名字; -c 在收到指定的包的数目后,tcpdump就会停止; -d 将匹配信息包的代码以人们能够理解的汇编格式给出;以可阅读的格式输出。 -dd 将匹配信息包的代码以c语言程序段的格式给出; -ddd 将匹配信息包的代码以十进制的形式给出; -e 在输出行打印出数据链路层的头部信息; -f 将外部的Internet地址以数字的形式打印出来; -l 使标准输出变为缓冲行形式; -n 直接显示IP地址,不现实名称; -nn 端口名称显示为数字形式,不现实名称; -t 在输出的每一行不打印时间戳; -v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息; -vv 输出详细的报文信息; -F 从指定的文件中读取表达式,忽略其它的表达式; -i 指定监听的网络接口; -r 从指定的文件中读取包(这些包一般通过-w选项产生); -w 直接将包写入文件中,并不分析和打印出来; -T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单 网络管理协议;)
指定抓包数量 -c
指定抓取2个数据包。
命令:tcpdump -c 2

说明:
最后会自动生成统计信息。
将抓包信息写入文件 -w
使用-w选项指定记录文件。
命令:tcpdump -c 10 -w tcpdump_test.log

说明:
保存的文件不是文本格式,不能直接查看。tcpdump保存的文件的格式是几乎所有主流的抓包工具软件都可以读取。所以可以使用更易读的图形界面工具来查看记录文件。
读取记录文件 -r
使用-r选项读取文件。
命令:tcpdump -r tcpdump_test.log

打印出所有可工作的接口 -D
命令:tcpdump -D

其中网卡为eth0与eth1。
指定监控的网卡 -i
命令:tcpdump -i eth0
显示更详细的数据包信息 -v -vv
选项-v,-vv可以显示更详细的抓包信息。

不使用域名反解 -n
使用-n后,tcpdump会直接显示IP地址,不会显示域名(与netstat命令相似)。
增加抓包时间戳 -tttt选项
使用-tttt选项,抓包结果中将包含抓包日期:
命令:tcpdump -tttt

条件过滤
过滤:指定需要抓取的协议
tcpdump可以只抓某种协议的包,支持指定以下协议:ip,ip6,arp,tcp,udp,wlan等。
命令:
tcpdump udp
tcpdump icmp
tcpdump tcp
tcpdump arp
过滤:指定协议的端口号
使用port参数,用于指定端口号。
命令:tcpdump tcp port 80
使用portrange参数,用于指定端口范围。
命令:tcpdump tcp portrange 1-1024
过滤:指定源与目标
src 表示源。
dst 表示目标。
命令:
tcpdump src port 8080
tcpdump dst port 80
过滤:指定特定主机的消息包
使用host指定需要监听的主机。
命令:tcpdump host 192.168.1.113
注意:若使用了host参数使用了计算机名或域名。例tcpdump host shi-pc ,则无法再使用-n选项。
过滤:指定数据包大小
使用greater(大于)与less(小于)可以指定数据包大小的范围。
例:只抓取大于1000字节的数据包。
命令:tcpdump greater 1000
例:只抓取小于10字节的数据包。
命令:tcpdump less 10
查看数据包完整内容
tcpdump默认不显示数据包的详细内容。
方法一:使用-A参数能以ASCII码显示数据包。
例:只抓取1个数据包,并显示其内容。
命令:tcpdump -c 1 -A

方法二:使用-X参数能16进制数与ASCII码共同显示数据包。
例:只抓取1个数据包,并显示其内容。
命令:tcpdump -c 1 -X

逻辑表达式
使用基本逻辑组合拼装出更精细的过滤条件。
逻辑与关系,使用and。
命令:
tcpdump tcp and host 192.168.1.112
tcpdump tcp and src 192.168.1.112 and port 8080
逻辑或关系,使用or。
命令:
tcpdump host 192.168.1.112 or 192.168.1.113
逻辑非关系,使用not,也可以使用 ! 。
若使用 ! 必须与其后面的字符隔开一个空格。
例:当通过ssh协议远程使用tcpdump时,为了避免ssh的数据包的输出,所以一般需要禁止ssh数据包的输出。
命令:
tcpdump not tcp port 22
tcpdump ! tcp port 22
括号
括号需要使用在引号内,或转意使用。否则会报错。
例:抓取非22端口,且主机为192.168.1.112 和 192.168.1.113的TCP数据包。
命令:
tcpdump not tcp port 22 and host \( 192.168.1.112 or 192.168.1.113\)
tcpdump "not tcp port 22 and host (192.168.1.112 or 192.168.1.113)"
tcpdump not tcp port 22 and host "(192.168.1.112 or 192.168.1.113)"
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。LaplaceDemon/SJQ。
http://www.cnblogs.com/shijiaqi1066/p/3898248.html
tcpdump 命令行抓包工具的更多相关文章
- Linux命令行抓包及包解析工具tshark(wireshark)使用实例解析
在Linux下,当我们需要抓取网络数据包分析时,通常是使用tcpdump抓取网络raw数据包存到一个文件,然后下载到本地使用wireshark界面网络分析工具进行网络包分析. 最近才发现,原来wire ...
- windows 平台使用wireshark命令行抓包
Windows网络流量大,或则需要长时间抓包时,wireshark图形界面使用起来比较麻烦 wireshark 内置 dumpcap命令 Capture interface: -i <inte ...
- adb命令将抓包工具证书从用户目录移动至系统目录,解决反爬对于本地证书认证
代码和注释 adb shell #连接手机进入shell模式 #su root #如果你不root权限可以试着这个一般都是root cd /data/misc/user/0/cacerts-added ...
- 抓包工具tcpdump用法说明--2
第一招: 通俗的说,tcpdump是一个抓包工具,用于抓取互联网上传输的数据包.形象的说,tcpdump就好比是国家海关,驻扎在出入境的咽喉要道,凡是要入境和出境的集装箱,海关人员总要打开箱子,看看里 ...
- Linux 抓包工具:tcpdump
tcpdump 是一个抓包工具,通常用来分析网络 安装tcpdump命令 [root@mysql test]# yum install -y tcpdump -i 指定网卡 捉取网卡数据包 抓取指定网 ...
- Linux抓包工具tcpdump命令详解
1.简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中 ...
- 抓包工具:tcpdump抓包命令详解
抓包工具:tcpdump抓包命令详解 简介: tcpdump全称:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以 ...
- [转] Linux抓包工具tcpdump详解
http://www.ha97.com/4550.html PS:tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使 ...
- Linux抓包工具tcpdump详解
tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具. tcpd ...
随机推荐
- 打造轻量级自动化测试框架WebZ
一.什么是WebZ WebZ是我用Python写的“关键字驱动”的自动化测试框架,基于WebDriver. 设计该框架的初衷是:用自动化测试让测试人员从一些简单却重复的测试中解放出来.之所以用“关键字 ...
- Contest 20141027 总结
这次考试主要问题出在第一题,由于考试期间没有看清题意,少看了一句 “a=A/1e9" 导致在考试结束最后5分钟发现时修改过于匆忙,改出问题了.另外,这道题同时告诉我long double 在 ...
- Contest20140705 testC DP
testC 输入文件: testC.in 输出文件testC.out 时限1000ms 问题描述: ,⋯,an. ,a2,a3,⋯,an) ,⋯,alm. ,al2,al3,⋯,alm) 现要求G=g ...
- [BZOJ 3680] 吊打XXX 【模拟退火】
题目链接:BZOJ - 3680 题目分析 这道题是SLYZ的神犇把JSOI的平衡点那道题改了一下题面变成了吊打GTY神犇..Orz 第一次写模拟退火,只能照着别人的代码写,我看的是PoPoQQQ神犇 ...
- dispatch队列
GCD编程的核心就是dispatch队列,dispatch block的执行最终都会放进某个队列中去进行,它类似NSOperationQueue但更复杂也更强大,并且可以嵌套使用.所以说,结合bloc ...
- win7系统VPN设置
为了解除公司上网策略限制,或者为了上Google,Facebook,都可以通过设置VPN实现. 要使用VPN需要到VPN服务商注册,链接VPN服务商. ======================== ...
- Android 每天定时提醒功能实现
android要实现定时的功能那肯定就要用到闹铃相关的技术, 那么android闹铃实现是基于 AlarmManager 这个类的,首先我们来看一下它的几个主要的方法. 打开AlarmManager的 ...
- buffer busy waits
Buffer busy waits 当会话想要访问缓冲区中的数据块,而该数据块正在被其他会话使用时将产生Buffer busy waits事件. 其他会话可能正从数据文件向缓冲器读取同样的数据块,或正 ...
- Robotium跨应用处理方法
相信用过一段时间Robotium的同学一般都遇到过如下情况:界面跳转到被测程序外以后,Robotium就毫无对策了,这也是Instrumentation框架最致命的一个缺点;然而领导是不会管你这些很“ ...
- bzoj1475
明显的二分图最大独立点权集 ans=总点权-最小割(最大流) ..] ,,-,); dy:..] ,-,,); inf=; type node=record ne ...