当前位置: 首页 > news >正文

day26-计算机网络-4

1. tcp的11种状态

ss -ant
-a 表示看所有状态
-n 表示不将ip解析为主机名
-t 表示tcp

1.1. closed状态(客户端、服务端)

  • 客户端发起建立连接前的状态
  • 服务端启动服务前的状态

1.2. listen状态(服务端)

  • 服务端软件运行的时候状态:监听状态,服务端等待建立连接

1.3. syn_sent状态(客户端)

  • 客户端发送SYN请求连接后,由closed状态-->syn_sent状态

1.4. syn_rcvd状态(服务端)

  • 服务端收到客户端SYN请求,回复了ACK,服务端状态listen-->syn_rcvd(recevide)

1.5. established状态(客户端、服务端)

  • 客户端收到了ACK,SYN后发出ACK,客户端状态由syn_sent-->established(建立连接)
  • 服务端收到客户端的ACK后,服务端状态变化为:established状态

1.6. fin_wait1状态(客户端)

  • 客户端先向服务端发送FIN报文,请求断开连接,状态由established状态-->fin_wait1状态

1.7. close_wait状态(服务端)

  • 服务端收到FIN后向客户端发送ACK,服务端状态由established状态-->close_wat状态

1.8. fin_wait2状态(客户端)

  • 客户端收到ACK后就由fin_wait1状态-->fin_wait2状态,此时连接已经断开了一半,如果服务器还有数据要发送给客户端,就会继续发送

1.9. last_ack状态(服务端)

  • 数据传完后,服务端就发送FIN报文,请求断开连接,此时服务器就由close_wait状态-->last_ack状态

1.10. time_wait状态(客户端、服务端)

  • 客户端收到服务端的FIN后,给服务器发送ACK,此时客户端进入time_wait状态,再过2MSL的时间(MSL最大生存时间,一般是1分钟)后,进入closed状态,
  • 服务端收到ACK后也进入closed状态

1.11. 特殊状态closing

  • 客户端发送FIN请求断开连接后,由于网络故障原因没有收到服务端发送的ACK,直接收到了服务端发送来的FIN断开连接请求,此时客户端进入closing状态

2. 查看tcp状态

ss -ant
-a 查看所有状态
-n 不反向解析
-t TCPss -lntup
netstat -lntup
-l 查看处于监听状态的服务
-n 不反向解析
-t TCP
-u UDP
-p 进程#统计TCP状态
ss -ant | awk '{print $1}' | sort | uniq -c | sort -rnk1

3. 面试题:查看端口是否存在

ss -lntupnetstat -lntuptelnet 10.0.0.210 80nmap -p 22,80 10.0.0.210filtered 过滤(防火墙拦截)lsof -i:22lsof 查看所有打开的文件信息

4. 查看网络速度

iftop -nNBP -i ens33-n不将ip解析为主机名字-P显示端口-N不将端口解析为服务名字-B将bit转换为Byte-i指定网卡-ts 1非交互模式,每隔1S

5. 链路带宽测试工具

  • ipref测试2点之间速度
#服务端开启测试,等待客户端连接
ipres -s#客户端连接服务端测试带宽速度
ipres -c 10.0.0.210

6. mtr命令

mtr www.baidu.commtr --tcp -r -c 2 www.baidu.com--tcp表示使用tcp协议-r表示生成报告模式(非交互模式),测试完显示在屏幕上-c 2表示测试两次

7. wireshark抓包过滤规则

7.1. 抓取指定协议

icmp  #ping 数据包
tcp
udp
http
https数据包:tls(http over tls)

7.2. 抓取指定端口

#过滤出源端口或目的端口口是tcp/80的数据包
tcp.port == 80#过滤出源端口或目的端口口是udp/53的数据包
udp.port ==53#过滤src source 源端口是tcp/80
tcp.srcport == 80#过滤dst destitation 目标端口是tcp/80
tcp.dstport == 80#过滤src source 源端口是udp/53
udp.srcport == 53#过滤dst destitation 目标端口是udp/53
udp.dstport == 53#过滤tcp端口为80并且包含www.baidu.com
tcp.port == 80 and http ~ "www.baidu.com"

7.3. 抓取指定ip的数据包

#过滤源ip或目标ip为百度的数据包
ip.addr == 39.156.66.10 #过滤出源ip或目标ip是10.0.0.200数据包#ip.src表示源ip
ip.src == 10.0.0.200 #过滤出源ip 10.0.0.200数据包#ip.dst表示目标ip
ip.dst == 10.0.0.200 #过滤出目标ip 10.0.0.200数据包

7.4. 不固定内容的过滤-比较大小

#过滤出端口小于等于1024的数据包
tcp.dstport <= 1024

7.5. 与或非

#过滤端口号大于等于20 小于等于1024
tcp.port >=20  &&  tcp.port <=1024
tcp.port >=20  and tcp.port <=1024&& and  并且
or ||   或者
!       取反

7.6. tcpdump抓包

tcpdump -vvv -nnn -w all.pcap-vvv 表示显示详细的抓包信息-nnn 表示不要做反向解析#抓取icmp协议数据包
tcpdump -vvv -nnn icmp#抓取80端口数据包
tcpdump -vvv -nnn port 80
tcpdump -vvv -nnn src port 80
tcpdump -vvv -nnn dst port 80#抓取指定ip的数据包
tcpdump -vvv -nnn host 10.0.0.200
tcpdump -vvv -nnn src host 10.0.0.200
tcpdump -vvv -nnn dst host 10.0.0.200

8. 修改网卡名字

  • 麒麟系统
1.修改/boot/grub2/grub.cfg配置,在以linux开头的行(有两行),结尾添加
net.ifnames=0 biosdevname=0
sed -ri.bak '/\t+linux/s#$# net.ifnames=0 biosdevname=0#g' /boot/grub2/grub.cfg2.修改网卡配置文件
NAME=eth0
DEVICE=eth03.修改网卡名字
mv ifcfg-ens33 ifcfg-eth0重启linux
  • centos系统
1.修改/boot/grub2/grub.cfg配置,在以linux16开头的行,结尾添加
net.ifnames=0 biosdevname=02.修改网卡配置文件的网卡名
NAME=eth0
DEVICE=eth0重启linux
  • ubuntu22.04修改方法
1.修改/boot/grub/grub.cfg
在第170行,第189行,第226行,增加biosdevname=0 net.ifnames=0sed -i '/linux.*vmlinuz/s#$# biosdevname=0 net.ifnames=0#g' /boot/grub2/grub.cfg2.修改网卡配置文件的网卡名
sed -i 's#ens33#eth0#g' /etc/netplan/00-installer-config.yaml重启linux


文章转载自:

http://2UhcNPxh.mcpdn.cn
http://BEvs9B9s.mcpdn.cn
http://hmwfFcR0.mcpdn.cn
http://ZFKYIzB1.mcpdn.cn
http://UfzGDXIi.mcpdn.cn
http://8CHHj4ms.mcpdn.cn
http://gNCcX6UB.mcpdn.cn
http://EkPwIMPZ.mcpdn.cn
http://2WmvkRbC.mcpdn.cn
http://CaNczQ3T.mcpdn.cn
http://G3UDQGIx.mcpdn.cn
http://yyGxnD3m.mcpdn.cn
http://TD0aEOb5.mcpdn.cn
http://gEblF8cC.mcpdn.cn
http://kis8bpaj.mcpdn.cn
http://CIantAaV.mcpdn.cn
http://UVBnJRO1.mcpdn.cn
http://R94JubOk.mcpdn.cn
http://iZ3YPwbu.mcpdn.cn
http://frEpkdW2.mcpdn.cn
http://6YVDV4df.mcpdn.cn
http://eAHiAPQF.mcpdn.cn
http://7b4WLyBk.mcpdn.cn
http://l5R3dDiq.mcpdn.cn
http://T6MAbdZp.mcpdn.cn
http://jfMVX6z3.mcpdn.cn
http://UOGR9aTI.mcpdn.cn
http://ZKwIc3fX.mcpdn.cn
http://kxH3tj1J.mcpdn.cn
http://q7fm3yEa.mcpdn.cn
http://www.dtcms.com/a/236655.html

相关文章:

  • 新时代AI发展,更好的做自己
  • 8.库制作与原理
  • DDPM优化目标公式推导
  • 【Java开发日记】说一说 SpringBoot 中 CommandLineRunner
  • 【强连通分量 缩点 最长路 拓扑排序】P2656 采蘑菇|普及+
  • 游戏常用运行库合集 | GRLPackage 游戏运行库!
  • 机器学习期末复习
  • Dynamics 365 Finance + Power Automate 自动化凭证审核
  • day029-Shell自动化编程-计算与while循环
  • SOC-ESP32S3部分:33-声学前端模型ESP-SR
  • ViiTor实时翻译 2.4.2 | 完全免费的同声传译软件 实测识别率非常高 可以识别视频生成字幕
  • [GitHub] 优秀开源项目
  • vue3 创建图标 按钮
  • 26N60-ASEMI工业电机控制专用26N60
  • string类型
  • 《探秘局域网广播:网络世界的 “大喇叭”》
  • 【AI学习】wirelessGPT多任务无线基础模型摘要
  • GPT-5:不止于回答,AI学会了“思考”
  • Gartner《How to Create and Maintain a Knowledge Base forHumans and AI》学习报告
  • Linux虚拟化技术:从KVM到容器的轻量化革命
  • (每日一道算法题)二叉树剪枝
  • JDK17 Http Request 异步处理 源码刨析
  • nginx日志的一点理解
  • moon游戏服务器-demo运行
  • 计算机网络第2章(下):物理层传输介质与核心设备全面解析
  • 通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
  • IT学习方法与资料分享
  • Windows 下搭建 Zephyr 开发环境
  • VSCode CUDA C++进行Linux远程开发
  • 无法与IP建立连接,未能下载VSCode服务器