TCP抓包分析

时间:2023-02-10 15:02:54

tcpdump 抓包

​tcpdump是一款强大的网络抓包工具,运行在Linux平台上。熟悉tcpdump的使用能够帮助我们分析、调试网络数据。作为互联网上经典的的系统管理员必备工具,tcpdump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的工具之一。在实际工作中,需要以root权限去执行该命令。


一、常用命令选项

-i #指定监听网络接口

-nn #进行ip和端口名称的转换,一个n不要ip解析到域名,将协议转换为端口

-w #将捕获到的信息保存到文件中,且不分析和打印在屏幕

-r #从指定的文件中读取数据,一般是-w保存的文件

-v #输出稍微详细的信息

-vv#输出详细的报文信息


二、安装tcpdump工具
# yum install -y tcpdump


实验环境

1.准备两台机器(本次实验机器为Linux centos7)

IP

Hostname

192.168.80.128

tcpdump-server

192.168.80.129

test-server

2.两台机器均关闭防火墙和selinux

# systemctl stop firewalld
# setenforce 0

六个标记:

SYN(synchronous建立联机)

ACK(acknowledgement 确认) 用.表示

PSH(push传送)

FIN(finish结束)

RST(reset重置)

URG(urgent紧急)

==========

Sequence number(顺序号码)


举????说明:

监听网卡端口为80的应用发出和接收的所有http协议包

[root@tcpdump-server ~]# tcpdump -i ens33  port 80 -vv -nn
[root@test-server ~]# curl http://192.168.80.128 #测试

监视ens33网卡上源地址192.168.80.129的所有网络包

[root@tcpdump-server ~]# tcpdump -i ens33 src 192.168.80.129
[root@test-server ~]# ssh 192.168.80.128 #测试

监视ens33网卡上目的地址是192.168.80.129的所有网络包

[root@tcpdump-server ~]# tcpdump -i ens33 dst 192.168.80.129

抓来自192.168.80.129这台机器的imcp协议的包

[root@tcpdump-server ~]# tcpdump -i ens33 icmp -vv -nn
[root@test-server ~]# ping -c 1 192.168.80.128 #ping tcpdump的机器一次

PING 192.168.80.128 (192.168.80.128) 56(84) bytes of data.

64 bytes from 192.168.80.128: icmp_seq=1 ttl=64 time=0.751 ms

--- 192.168.80.128 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.751/0.751/0.751/0.000 ms
[root@tcpdump-server ~]# tcpdump -i ens33 icmp -vv -nn
tcpdump: listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
00:55:58.756161 IP (tos 0x0, ttl 64, id 33221, offset 0, flags [DF], proto ICMP (1), length 84)
192.168.80.129 > 192.168.80.128: ICMP echo request, id 1139, seq 1, length 64
00:55:58.756254 IP (tos 0x0, ttl 64, id 11681, offset 0, flags [none], proto ICMP (1), length 84)
192.168.80.128 > 192.168.80.129: ICMP echo reply, id 11

希望能够帮到有需要的人~~~