转:工作中常用的Linux命令集锦
时间:2011-4-13 作者:smarteng 分类: Linux命令
tcpdump —— 打印出通过网口流入流出的数据内容,用于网络协议调试
tcpdump就是大家嘴里常说的抓包工具,在linux命令行下,使用tcpdump,可以查看服务器特定端口进出的数据包内容。
tcpdump -X -s0 -i any udp port 12009
上述命令是我在工作中常用的一组参数组合,其含义如下:
- -X 将每个包打印成16进制形式和ASCII形式,调试新协议的时候非常方便
- -sN 每个包显示的(截断)字节数,N代表字节数,填0代表64K,为UDP包最大长度,实际实践中UDP包长1500字节左右,如果调试的协议只关心包头,一般查看前128个字节即可,可以视情况而选择。
- -i 代表interface,可以认为是网卡,any代表任意,也可以填eth0,eth1,代表以太网口
- udp port 12009是表达式,例子的含义就是UDP协议,12009端口。
tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ][ -i 网络接口 ] [ -r 文件名] [ -s snaplen ][ -T 类型 ] [ -w 文件名 ] [表达式 ]
如上是tcpdump命令的完整格式,具体每个参数的含义,可以参看linux的man。
这里简单谈谈最后的那个“表达式”,这个表达式的写法是非常灵活的,使得tcpdump像一个可自由编程的调试工具一样,强大异常。这里可以把表达式理解成是一种编程语言的语句。
- 表达式 = 语句 语句 语句 ……
- 语句 = 修饰符 | 修饰符 内容
不知道我上面的描述方式,是不是说清楚了表达式的结构,表达式是一个又一个原语(primitives)组成的,每个原语又是由修饰符和数据组成。数据可以数字或者id或者ip或者range等。
修饰符有很多种:
- 类型--可以是host(后面跟主机名),net(后面跟ip地址),port(和面跟端口号),如果不指定,默认是host
- 方向--可以是src,src or dst,src and dst,dst,主要是源端还是目的端,如果不指定,默认是src or dst
- 协议--就比较多了,常用的就udp和tcp,其他的可以看参考
现在再来看看我给的例子,udp port 12009,表示使用UDP协议的,通过12009端口的(进入和出去的)包都显示出来。
tcpdump这个工具还是比较难以记住的,Charels觉得还是要注意理解这个命令的功能和原理,然后在用到的时候,才能快速的找到准确的用法。
smarteng
人生就流星,虽然转瞬即逝,但也有永恒。
恰饭
分类
热门文章
- 使用Erlang的OTP框架创建应用
- php 使用curl模拟登录discuz以及模拟发帖
- 新浪微博错误代码解析
- 腾讯QQ、阿里旺旺、淘宝、MSN在线状态代码生成
- erlang程序设计笔记
- 《HTML 5与CSS 3权威指南》权威的HTML5与CSS3实战教程
- dedecms修改数据库密码配置文件
- 服务器优化小记--Etag和Expires
- 在PHP5中使用PHPMailer发送邮件
- PHP中冒号、endif、endwhile、endfor介绍
- PHP框架——ThinkPHP
- QQ登陆成功返回openId后与网站绑定
- Mediawiki的配置和修改方法
- 使用Golang的官方mock工具--gomock、mockgen
- 用yaf-codes-generator 生成代码
最新日志
- MacOs 电脑关闭/打开IPV6
- MySQL中datetime和timestamp的区别
- C++声明结构
- 如何保证数据库和缓存的一致性
- 优雅的golang日期时间处理库go-carbon
- API接口纪要
- 解析 Golang 测试(11)- 模糊测试
- 解析 Golang 测试(10)- 什么是好的单测
- 解析 Golang 测试(9)- 一篇文章搞懂 testify
- 解析 Golang 测试(8)- gomonkey 实战
- 解析 Golang 测试(7)- 如何针对 Redis 进行 Fake 测试
- 解析 Golang 测试(6)- 如何针对 MySQL 进行 Fake 测试
- 解析 Golang 测试(5)- MySQL 经典 mock driver—— sqlmock
- 解析 Golang 测试(4)- 一篇文章教你分清 Mock,Stub,Fake
- 解析 Golang 测试(3)- goconvey 实战
存档
- 2023年11月(1)
- 2023年10月(1)
- 2023年3月(2)
- 2023年2月(1)
- 2022年12月(1)
- 2022年9月(13)
- 2022年8月(5)
- 2022年7月(9)
- 2022年6月(2)
- 2022年5月(2)
- 2022年4月(1)
- 2022年3月(2)
- 2021年12月(1)
- 2021年11月(14)
- 2021年10月(2)
- 2021年9月(111)
- 2015年3月(1)
- 2014年5月(4)
- 2014年4月(18)
- 2014年1月(1)
- 2013年11月(2)
- 2013年7月(1)
- 2013年6月(1)
- 2013年3月(13)
- 2013年2月(3)
- 2013年1月(1)
- 2012年12月(8)
- 2012年11月(8)
- 2012年10月(1)
- 2012年9月(13)
- 2012年8月(4)
- 2012年6月(2)
- 2012年5月(10)
- 2012年4月(13)
- 2012年3月(9)
- 2012年2月(8)
- 2011年11月(1)
- 2011年8月(9)
- 2011年7月(8)
- 2011年6月(8)
- 2011年5月(7)
- 2011年4月(19)
- 2011年3月(15)
- 2011年2月(8)
- 2011年1月(9)
- 2010年12月(2)
- 2010年11月(2)
- 2010年10月(2)
- 2010年9月(8)
- 2010年8月(9)
- 2010年7月(1)
- 2010年6月(9)
- 2010年5月(5)
- 2010年1月(7)
- 2009年12月(21)
- 2009年11月(29)
- 2009年10月(100)
- 2009年8月(1)
- 2009年7月(15)
- 2009年6月(52)
标签
timestamp
datetime
time
awk
技术文章
SEM
营销
赚钱
go-zero
抓包
测试覆盖率
系统
hostname
goquery
mockgen
gomock
validator
urldecode
urlencode
redirect
context
port
pulsar
Consul
epoll
yaml
错误处理
code-review
xlsx
excel
c
读书
阅读
写作
生活
shen
统计
test
Module
mod
效率
无密码
天网
Future
video
computer
tmux
ce
Logrotate
supervisor
command
screen
rsa
java
markdown
测试
水平居中
error
brew
homebrew
http
nodejs
composer
工具
框架
gopath
gomod
golang
go
播放器
服务器
腾讯云
单元测试
爬虫
命令
emlog
replace
模型
PHP升级
阿里云
习惯
group_concat
SQL Server
PHPExcel
面试
单点登录
开源项目
tag
guid
yaf
md5
博客
微博
团队
Geolocation
Mac
客户端
网赚
豆瓣
编程语言
京东