1, netstat
netstat -su//udp 查网卡收包情况
netstat -st//tcp
netstat -anp | grep "^tcp"
2, ping traceroute inetd rlogin 略
3, tcpdump,详细请参考: http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html
tcpdump,可以持续监视多种协议,如tail -f参数一样,持续监视
root用户/普通用户sudo,普通用户输入tcpdump可能没反应。
语法:
1.类型限定词: host,port,net(子网,如net 192.168.1.0/24)
2.逻辑运算符: and,or,not,!,(),如tcpdump 'port 80 and (host 192.168.1.10 or host 192.168.1.11)'
3.传输方向限定词: src,dst
4.协议限定词: ether(Ethernet), tcp,udp,icmp,arp,rarp(reverse ARP)全小写
5.原语: 算术运算符(+,-,*,/,>,<,>=,<=,!=等), broadcast, gateway, greater, less.
例子:
1、监视指定网卡接口上所有流过的数据包
tcpdump <==> tcpdump -i eth0
tcpdump -i lo //发向localhost的数据包
2、指定host或ip
tcpdump host www.baidu.com <==> tcpdump host 61.135.169.105
3、指定发送端/接收端的ip, port(host可用src,dst修饰,tcp/udp与之是并列关系:tcp and host...)
tcpdump src host 192.168.1.10
tcpdump udp dst port 514
4、指定端口和ip
tcpdump tcp port 23 and host 192.168.1.10
5、指定tcpflags(开始和结束数据包)
tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and host www.baidu.com'
tcpdump '(tcp-syn|tcp-fin) != 0 and host www.baidu.com'
以上两个都行,但是必须加单引号"'"
6、指定data长度(应用层的数据长度,TCP/IP报头不算:整个ip数据包的长度减去ip头的长度,再减去tcp头的长度)
SYN,FIN,ACK等,不包含数据的(length=0)
tcpdump 'ip[2:2] - ((ip[0]&0xf)<<2) - ((tcp[12]&0xf0)>>2) == 0' 可以
tcpdump 'ip[2:2] - (ip[0]&0xf)<<2 - (tcp[12]&0xf0)>>2 == 0' 不可以
ip[2:2] IP包的第[2-3]个octets,整个ip数据包的长度,
((ip[0]&0xf)<<2) ip头的长度(ip[0]&0xf代表包中的IHL域(4bits), 范围[0-31]bits, 要换算成字节数需要乘以4???为什么
((tcp[12]&0xf0)>>2) tcp头长度
7、保存到文件,而不是在console输出
tcpdump -w test.pcap -i eth1 tcp port 6881 or udp \( 33210 or 33220 \)
8、输出解析
root@river-virtual-machine:~# tcpdump udp port 516 and host 192.168.22.112
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
//-s 64 可以改变输出capture size 64 bytes
16:35:43.550064 IP river-virtual-machine.local.37599 > 61.135.169.125.http: Flags [F.], seq 954321585, ack 1948466921, win 14600, length 0
系统时间 来源主机.端口 > 目标主机.端口 数据包参数(Flags [F.], seq 954321585, ack 1948466921, win 14600, length 0)
999980 packets captured
1000000 packets received by filter
20 packets dropped by kernel
//20 是libcap缓冲区溢出,tcpdump没有及时取出处理,dropped by tcpdump kernel
用loggen发送完8916条后立即停止tcpdump:只处理了31条
31 packets captured
8916 packets received by filter
8885 packets dropped by kernel
相关推荐
tcpdump源码编译,需要多个部件的源码进行顺序编译而成。 m4-1.4.19.tar.gz ...tcpdump-4.99.4.tar.gz tar xvf *.tar解压后,分别执行./configure 和make install(root执行),即可编译和安装好tcpdump
tcpdump-4.9.2-3.el7.x86_64 tcpdump-4.9.2-3.el7.x86_64
用途: 用于抓取网络流量,帮助运维人员分析网络故障和流量异常。
这可以通过使用`tar`命令完成,例如`tar -zxvf tcpdump-4.9.0.tar.gz`。 2. **进入目录**:解压后,进入新创建的目录,如`cd tcpdump-4.9.0`。 3. **配置**:运行`./configure`命令来检查系统环境,配置编译选项,...
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
这个"tcpdump-4.9.3.tar.gz"压缩包包含了该工具的源代码,版本为4.9.3,适用于包括ARM架构在内的多种平台。下面将详细介绍tcpdump及其相关知识点。 1. **tcpdump原理**: - tcpdump基于libpcap库,它能够直接访问...
Linux运维-运维课程MP4频-05-入侵检测-15tcpdump抓取指定协议-arp.mp4
"bind-9.10.4-P1.tar.gz" 是BIND的一个特定版本,即9.10.4-P1的源代码包,采用tar.gz格式进行压缩。这种格式在Linux和Unix-like系统中很常见,用于归档和压缩文件。 BIND 9是BIND的主要当前版本,它包含了许多增强...
tcpdump是一款强大的网络数据采集和分析工具,广泛用于网络故障排查、安全审计和性能优化等领域。这个名为"tcpdump_4.9.tar.gz"的压缩包包含了一个无需安装的版本,用户只需将其解压到指定目录,如"/sbin",就可以...
一个在LINUX上很好用的工具,查看网络流量.附加了源文件,可以参考.文件最后的RAR扩展名直接可以去掉.
Linux运维-运维课程MP4频-05-入侵检测-13tcpdump抓取指定网段.mp4
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
Linux运维-运维课程MP4频-05-入侵检测-12tcpdump抓取指定端口数据包.mp4
Linux运维-运维课程MP4频-05-入侵检测-16tcpdump抓取多条件数据包.mp4
Linux运维-运维课程MP4频-05-入侵检测-14tcpdump抓取指定主机数据包.mp4
Linux运维-运维课程MP4频-05-入侵检测-17tcpdump抓取TCP协议的标识位.mp4
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
这个“tcpdump离线.rar”压缩包包含两个RPM(Red Hat Package Manager)格式的软件包:libpcap-1.5.3-12.el7.x86_64.rpm和tcpdump-4.5.1-2.el7.x86_64.rpm,这两个是Linux环境下安装tcpdump所需的主要组件。...
4. **C语言的`print-gre.c`**:这个源代码文件可能包含了一个自定义的TCPDump打印函数,用于解析GRE头并在控制台上以更友好的格式显示捕获到的GRE数据包。自定义打印函数可以提供更深入的洞察,例如展示GRE头中的...
Centos 7.x tcpdump 离线安装所需的软件, tcpdump是一个用于截取网络分组,并输出分组内容的工具。凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具 tcpdump 支持针对网络...