网络基础与进阶(二)
2024-09-18 22:48:50 5 举报
AI智能生成
"网络基础与进阶(二)" 是一门关于计算机网络原理和实践的高级课程,旨在帮助学生深入理解网络拓扑、网络协议、网络安全等方面的知识。课程涵盖了诸如TCP/IP协议、交换机与路由器、VPN技术等核心内容,并引入了实际的网络设备进行操作实践。通过本课程的学习,学生将能够设计和优化网络架构,解决实际网络问题,为将来的职业生涯打下坚实的基础。
作者其他创作
大纲/内容
11 TCP 11种状态
三次握手的状态
https://www.processon.com/view/link/6245136a5653bb072bce3259
四次挥手状态
第十一种状态
核心必会: CLOSED,ESTABLISHED,LISTEN监听,TIME_WAIT,CLOSE_WAIT<br>逐渐掌握: FIN_WAIT1,FIN_WAIT2,CLOSING,SYN_SENT,LAST_ACK
抓包
数据传输背后发生了什么.<br>运维必会技能
抓包工具
wireshark过滤器规则(七层)
协议
icmp (ping 数据包) tcp udp http arp https (过滤https数据包:tls)<br>
端口
tcp.port == 80 <br>udp.port == 53<br><br>#src source 源<br>tcp.srcport == 80 #过滤出源端口80 <br>tcp.dstport == 80 #过滤目标端口80<br><br>#src source 源<br>udp.srcport == 53<br>udp.dstport == 53
ip
ip.addr == 39.156.66.10 #过滤出源ip或目标ip是 10.0.0.200 数据包<br><br>#ip.src表示源ip<br>ip.src == 10.0.0.200 #过滤出源ip10.0.0.200 数据包<br><br>#ip.dst表示目标ip<br>ip.dst == 10.0.0.200 #过滤出目标ip10.0.0.200 数据包
比较大小
== <= < >= > !=
与或非
and or && || !#取反
案例
#过滤源IP是虚拟机(10.0.0.200) 并且目标端口是80的数据包<br>测试语句:curl www.baidu.com<br>ip.addr == 10.0.0.200 && tcp.dstport == 80
tcpdump 过滤(四层)
tcpdump -i ens33 #指定网卡 如果有多块网卡的时候需要指定。<br><br>tcpdump icmp #过滤协议<br>tcpdump -vvv -nnn icmp #IP 地址和端口号都以数字形式显示,没有进行任何解析。而-vvv参数使得输出更加详细<br><br>tcpdump -nnn port 80 # #过滤指定端口号 80端口<br>tcpdump -nnn src port 80 # 源<br>tcpdump -nnn dst port 80 # 目<br><br>tcpdump -nnn host 10.0.0.200 #抓住指定主机<br><br>tcpdump -nnn src host 10.0.0.200 and port 80 #抓取指定ip和端口的数据包<br>tcpdump -nnn dst host 10.0.0.200 and port 80<br><br>#组合 过滤出 端口是80 并且 ip地址是10.0.0.200<br>and #并且<br>or #或者<br>! #取反
⚠ ❌ tcpdump无法过滤出7层的数据包 http 需要指定端口号过滤并保存,然<br>后通过wireshark查看.
对比
分析与定位网络问题
客户机 服务器<br>小鲨鱼(抓包) tcpdump(抓包)<br> <br> #开启禁ping<br> 防火墙 (安全组) 测试: echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all<br> #恢复禁ping<br> echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
tcpdump + wireshark抓包流程
tcpdump -vvv -nn -i eth0 port 80 or port 53 -w test.txt
sz test.txt
远程连接失败与抓包分析
小结
网卡配置(ip,dns)
网卡命名
结论: 工作有需求的时候再去修改. 做好记录,后面使用的时候参考即可
方法01:安装完成系统
麒麟
sed -ri.bak '/\t+linux/s#$# net.ifnames=0 biosdevname=0#g'<br>/boot/grub2/grub.cfg
#修改网卡配置文件<br>NAME=eth0<br>DEVICE=eth0<br><br>#改文件名<br>mv<br><br># 重启
Ubuntu
sed -i '/linux.*vmlinuz/s#$# biosdevname=0<br>net.ifnames=0#g'
#2.修改网卡配置文件内容<br>sed -i 's#ens33#eth0#g' /etc/netplan/00-installerconfig.yaml<br><br>#3.重启系统<br>
安装系统的时候修改
安装系统的时候选择第1个然后按tab键. 在最后写入 net.ifnames=0 <br>biosdevname=0
网卡配置文件
红帽类系统
/etc/sysconfig/network-scripts/ifcfg-eth0 或 ifcfgens33
TYPE=Ethernet # 网络类型,就是一个Ethernet 以太网<br>PROXY_METHOD=none #none/static <br>BROWSER_ONLY=no <br>BOOTPROTO=none # 手动、固定ip #dhcp 自动获取<br>DEFROUTE=yes<br>IPV4_FAILURE_FATAL=no<br>IPV6INIT=yes<br>IPV6_AUTOCONF=yes<br>IPV6_DEFROUTE=yes<br>IPV6_FAILURE_FATAL=no<br>IPV6_ADDR_GEN_MODE=stable-privacy<br>NAME=eth0 #网卡名字<br>DEVICE=eth0 #设备名字<br>UUID=c21147b3-6922-4a3a-b7c6-09f6de870496 #每个设备1个唯一的id号,全球唯一<br>ONBOOT=yes #网卡是否开机是否自启动,网卡重启后是否自启动 #reboot #systemctl restart network<br>IPADDR=10.0.0.200 #ip地址<br>PREFIX=24 #PREFIX或NETMASK子网掩码:控制局域网中最多有多少台机器<br>GATEWAY=10.0.0.2 #网关<br>DNS1=223.5.5.5 # DNS1<br>DNS2=223.6.6.6 # DNS2<br>IPV6_PRIVACY=no # ipv6<br>
DNS配置文件
网卡配置文件DNS1 DNS2 优先.重启网卡后会覆盖/etc/resolv.conf文件<br>/etc/resolv.conf 实时生效
#生效<br>systemctl restart network #centos<br>ifdown ens33 && ifup ens33 #kylin
debian/ubt
/etc/netplan/00-installer-config.yaml(注意缩进)
network:<br>ethernets:<br>eth0: #网卡名字<br>addresses:<br>- 10.0.0.202/24 #ip/子网掩码 10.0.0.202/24<br>nameservers:<br>addresses:<br>- 223.5.5.5 #dns1<br>- 223.6.6.6 #dns2<br>search: []<br>routes:<br>- to: default<br>via: 10.0.0.2 #默认网关<br>version: 2
#生效<br>netplay apply
hosts文件
经常用于搭建网站,配置临时域名解析(主要用于测试)
linux
/etc/hosts
windows
c:\windows\system32\drivers\etc\hosts
window键+r输入drivers 然后找etc hosts
网络管理命令
检查端口
(本机)<br><br>方法01 推荐<br>ss -lntup |grep 22 <br>ss -lntu # -p表示显示端口对应的进程的信息。<br><br>方法02<br>netstat -lntup |grep -w 22 # grep -w 精确过滤. grep -w oldboy #oldboya oldboy aceoldboy 被排除<br><br>方法03<br>lsof -i :22<br>lsof -ni :22 # -n 不要把ip反向解析为主机名、域名。<br>lsof -nPi :22 # -P 不要把端口解析为对应的服务。<br>
(远程)<br><br>#方法01<br>telnet 10.0.0.200 22 #命令行中推荐使用,检查是否有connected 标记。<br><br>#方法02 #nmap 网络扫描工具。 #nmap进阶使用<br>nmap -p22 10.0.0.200 nmap -p1-1024 10.0.0.200<br>nmap -p80,443,22 baidu.com jd.com 10.0.0.204 nmap -p22 10.0.0.0/24 jd.com taobao.com<br><br>PORT STATE SERVICE<br>22/tcp open ssh #nmap结果中只要有 端口 open就是开启 。<br><br><br>#方法03 nc netcat ncat<br>nc -v 10.0.0.200 22 #这个一般用于shell脚本中检查端口是否开启。
检查tcp连接状态
ss -ant<br>netstat -ant
企业案例: 每种状态的次数. sort+uniq
网络速度
总体速度
top/htop<br>iotop<br>iftop 2s 10s 40s数据传输平均速度<br>iftop -n #ip反向解析为域名/主机名<br>iftop -i 指定网卡. 默认eth0 第1个网卡.<br>iftop -P 显示端口<br>iftop -N 不要把端口解析为服务名字<br>最终使用.<br>iftop -nNBP -i eth0 #显示端口号,不要把ip解析为域名,不要把端口解析为服务, 监视指定网卡eth0<br>iftop -nNBP -i eth0 -t -s 1 # iftop非交互模式 方便进行过滤与处理. # -B以字节为单位进行显示,默认是位<br>
进程流量
方法01: iftop,ss,ps 一起使用<br>iftop找出端口.<br>ss找出端口对应的进程号(pid)<br>ps根据pid过滤进程名字.<br><br>方法02: nethogs<br>nethogs<br><br>方法03:ntop 可以用docker部署或二进制<br>https://www.ntop.org/get-started/download/<br>
DNS解析
dig www.baidu.com<br>host www.baidu.com<br>nslookup www.baidu.com
追踪命令
#01 两点之间.<br>ping baidu.com<br><br>#02<br>#tracert(windows) traceroute (linux yum install -y traceroute)<br>traceroute -nI www.baidu.com #默认使用udp协议,-I使用icmp协议icmp表示使用ping.<br><br>[c:\~]$ tracert -d www.baidu.com<br><br>#03 fping批量检查ip或域名<br>fping 10.0.0.2 baidu.com jd.com taobao.com 12306.cn<br>fping -f url.txtc<br>
命令小结
查看路由
route -n<br>ip r
IP-了解
https://www.sojson.com/convert/subnetmask.html<br>https://www.36130.com/subnetmask/
0 条评论
下一页