中小企业网站建设框架,建什么类型的网站访问量比较大,图片在线编辑器,网站建设开发的目的文章目录 lsofnetstatpingnslookupsshssh-keygenscpsftp 网络工具 curl网络工具 wget最后个人简介 hello#xff0c;大家好#xff0c;我是 Lorin#xff0c;上一期和大家分享一期日常开发中常用的 Linux 文件和文本命令实战教学#xff0c;这一期给大家带来常用的网络处理… 文章目录 lsofnetstatpingnslookupsshssh-keygenscpsftp 网络工具 curl网络工具 wget最后个人简介 hello大家好我是 Lorin上一期和大家分享一期日常开发中常用的 Linux 文件和文本命令实战教学这一期给大家带来常用的网络处理命令实战。
lsof
lsof(list open files)是一个列出当前系统打开文件的工具日常开发中常用于查看端口占用情况。
// 显示所有打开的端口
lsof -i // 查看 8080 端口占用情况
lsof -i:8000nodejs 26993 root 10u IPv4 37999514 0t0 TCP *:8000 (LISTEN)// 其它一些常见用法
lsof abc.txt显示开启文件abc.txt的进程
lsof -c abc显示abc进程现在打开的文件
lsof -c -p 1234列出进程号为1234的进程所打开的文件
lsof -d 4显示使用fd为4的进程netstat
netstat 用于查看网络状态。日常工作中常用于观察服务器网络连接、端口占用。
命令格式
netstat [-acCeFghilMnNoprstuvVwx][-A网络类型][--ip]常用参数
常用参数
-a或--all 显示所有连线中的Socket
-p或--programs 显示正在使用Socket的程序识别码和程序名称
-n或--numeric 直接使用IP地址而不通过域名服务器显示具体端口号
-t或--tcp 显示TCP传输协议的连线状况
-u或--udp 显示UDP传输协议的连线状况// 如查看所有 TCP 网络连接
[rootiZwz97fphe0t194uzxhm8lZ ~]# netstat -anpt
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:5355 0.0.0.0:* LISTEN 833/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 880/sshd
tcp 0 0 172.19.229.159:22 183.14.134.96:25981 ESTABLISHED 25803/sshd: root [p
tcp 0 0 172.19.229.159:55656 100.100.21.100:80 TIME_WAIT -
tcp 0 0 172.19.229.159:55658 100.100.21.100:80 TIME_WAIT -
tcp 0 0 172.19.229.159:55648 100.100.21.100:80 TIME_WAIT -
tcp 0 0 172.19.229.159:60706 100.100.0.70:80 TIME_WAIT -
tcp6 0 0 :::5355 :::* LISTEN 833/systemd-resolve
tcp6 0 0 :::80 :::* LISTEN 2801/docker-proxy
tcp6 0 0 :::443 :::* LISTEN 2790/docker-proxy
tcp6 0 0 :::1024 :::* LISTEN 3031/docker-proxy
tcp6 0 0 :::1025 :::* LISTEN 3020/docker-proxy// 查看 80 端口占用的进程和进程号 可以和上一期学的 grep 命令组合使用
[rootiZwz97fphe0t194uzxhm8lZ ~]# netstat -atnp | grep 80
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 880/sshd
tcp 0 0 172.19.229.159:44072 100.100.21.100:80 TIME_WAIT -
tcp 0 0 172.19.229.159:44070 100.100.21.100:80 TIME_WAIT -
tcp 0 0 172.19.229.159:49126 100.100.0.70:80 TIME_WAIT -
tcp 0 0 172.19.229.159:44078 100.100.21.100:80 TIME_WAIT -
tcp 0 0 172.19.229.159:44076 100.100.21.100:80 TIME_WAIT -
tcp6 0 0 :::80 :::* LISTEN 2801/docker-proxyping
ping 命令用于检测与另一个主机之间的网络连接日常开发中常用于检测服务器是否在线但无法 ping 通不等于服务不在线因为服务器端可以主动关闭该功能。使用 ICMPInternet Control Message Protocol 传输协议发出要求回应的信息若远端主机的网络功能没有问题就会回应该信息。 命令格式ping [-dfnqrRv][-c完成次数][-i间隔秒数][-I网络界面][-l前置载入][-p范本样式][-s数据包大小][-t存活数值][主机名称或IP地址]常用参数-d 使用Socket的SO_DEBUG功能-c 完成次数 设置完成要求回应的次数-i间隔秒数 指定收发信息的间隔时间-R 记录路由过程-t存活数值 设置存活数值TTL的大小-s数据包大小 设置数据包的大小// 示例[rootiZwz97fphe0t194uzxhm8lZ ~]# ping -i 3 -c 3 -s 1024 -t 255 baidu.comPING baidu.com (39.156.66.10) 1024(1052) bytes of data.1032 bytes from 39.156.66.10 (39.156.66.10): icmp_seq1 ttl49 time50.1 ms1032 bytes from 39.156.66.10 (39.156.66.10): icmp_seq2 ttl49 time50.1 ms1032 bytes from 39.156.66.10 (39.156.66.10): icmp_seq3 ttl49 time50.1 ms--- baidu.com ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 11msrtt min/avg/max/mdev 50.116/50.119/50.123/0.182 ms// -i 3 执行周期为 3 秒// -c 3 要求会员次数 3 次// -s 1024 包大小 1024 // -t 设置TTL值为 255nslookup
是用于查询域名系统DNS信息的命令行工具。它可以用来查找域名的IP地址或者反向查找IP地址对应的域名。 命令格式nslookup domain [dns-server]// 使用示例 使用默认域名服务器[rootiZwz97fphe0t194uzxhm8lZ ~]# nslookup baidu.comServer: 100.100.2.136Address: 100.100.2.136#53Non-authoritative answer:Name: baidu.comAddress: 110.242.68.66Name: baidu.comAddress: 39.156.66.10// 使用指定域名服务器解析[rootiZwz97fphe0t194uzxhm8lZ ~]# nslookup baidu.com 8.8.8.8Server: 8.8.8.8Address: 8.8.8.8#53Non-authoritative answer:Name: baidu.comAddress: 39.156.66.10Name: baidu.comAddress: 110.242.68.66ssh
Linux SSHSecure Shell是一种用于远程管理和安全通信的协议和工具。它允许用户通过网络安全地远程登录到其他计算机并执行各种操作日常工作中常用于登录服务器。SSH使用非对称加密来建立连接并在连接建立后使用对称加密来保护通信内容。这种方法确保了数据的机密性和完整性。 命令格式ssh [选项] [参数]常用参数-p指定远程服务器上的端口-i指定身份(私钥)文件// 常用方式# ssh 用户名远程服务器地址ssh user1172.24.210.101# 指定端口ssh -p 2211 root140.206.185.170ssh-keygen
除了使用密码登录的方式我们还可以生成秘钥文件实现免密登录。 // ssh-keygen # 为当前用户生成 ssh 公钥 私钥// 如果你使用了密码那么请确保添加了 -o 选项它会以比默认格式更能抗暴力破解的格式保存私钥$ ssh-keygen -oGenerating public/private rsa key pair.Enter file in which to save the key (/home/schacon/.ssh/id_rsa):Created directory /home/schacon/.ssh.Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /home/schacon/.ssh/id_rsa.Your public key has been saved in /home/schacon/.ssh/id_rsa.pub.The key fingerprint is:d0:82:24:8e:d7:f1:bb:9b:33:53:96:93:49:da:9b:e3 schaconmylaptop.local// 将当前用户的公钥复制到需要 ssh 的服务器的 ~/.ssh/authorized_keys实现免密登录ssh-copy-id userip:portscp
SCPSecure Copy Protocol是一种用于在远程系统之间安全复制文件的协议。它通过SSHSecure Shell协议进行加密通信确保数据传输的安全性。SCP通常用于将文件从一个计算机复制到另一个计算机或者从本地计算机上传到远程服务器反之亦然。 命令格式scp [参数] [本地文件] [远程地址]常用参数-r递归复制怎么目录// 使用示例// 从本地计算机上传文件到远程服务器scp /path/to/local/file usernameremote_server:/path/to/remote/directory// 从远程服务器下载文件到本地计算机scp usernameremote_server:/path/to/remote/file /path/to/local/directory// 从本地计算机上传整个目录到远程服务器scp -r /path/to/local/directory usernameremote_server:/path/to/remote/directorysftp SFTPSecure File Transfer Protocol是一种基于SSH协议的安全文件传输协议用于在本地计算机和远程服务器之间以加密和安全的方式传输文件。与SCP不同SFTP提供了更多的文件管理功能允许用户在本地和远程系统之间进行更灵活的文件操作包括上传、下载、删除、重命名文件以及浏览远程目录等。 使用示例 // 连接到远程服务器sftp usernameremote_server// 上传文件到远程服务器put /path/to/local/file /path/on/remote/server// 下载文件到本地计算机get /path/on/remote/server /path/to/local/directory// 列出远程服务器上的文件和目录ls// 或者列出特定目录ls /path/on/remote/server// 删除远程服务器上的文件rm /path/on/remote/server/filename// 重命名远程服务器上的文件rename old_filename new_filename// 退出SFTP会话exit网络工具 curl
curl 是一个强大的命令行工具用于在Unix、Linux和类Unix系统中进行数据传输。它支持多种协议包括HTTP、HTTPS、FTP、SCP、SFTP、LDAP等可以用来发送请求并接收来自Web服务器和其他网络服务的响应。下面我们主要介绍一些常见的用法 命令格式:curl [选项] [URL]常用参数-v选项来显示HTTP请求和响应的详细信息-i选项来显示HTTP响应头信息-X选项来指定HTTP请求方法-x选项来指定代理服务器-u选项来指定用户名和密码-H选项来指定HTTP头部信息# 使用示例// 发送 get 请求curl https://www.example.com// 发送 post 请求// 使用-X选项来指定HTTP请求方法通常与-d选项一起使用以发送POST数据curl -X POST -d key1value1key2value2 https://www.example.com/api// 发送HTTP请求时携带HTTP头部信息curl -H Authorization: Bearer token https://api.example.com/resource// 使用代理服务器curl -x http://proxy.example.com:8080 https://www.example.com// 保存下载文件curl -o outputfile.txt https://www.example.com/file.txt// 使用用户名和密码进行HTTP基本认证curl -u username:password https://www.example.com/secure/resource网络工具 wget
wget是一个在命令行中常用的工具用于从网络上下载文件。它支持HTTP、HTTPS、FTP等多种协议并提供了丰富的选项使得文件下载变得非常灵活和强大。下面介绍一些常见用法 命令格式wget [选项] [URL]常用参数-b选项来在后台下载文件-O选项来指定保存的文件名-c选项来启用断点续传如果下载中断可以恢复下载// 使用wget下载文件将文件保存在当前工作目录wget https://www.example.com/file.txt// 使用-O选项来指定保存的文件名wget -O myfile.txt https://www.example.com/file.txt// 后台下载wget -b https://www.example.com/largefile.zip// 限速下载速度wget --limit-rate100k https://www.example.com/largefile.zip最后
如果文章对你有帮助请一键三连关注、点赞、收藏你的支持是我创作的最大动力谢谢大家。
个人简介 你好我是 Lorin 洛林一位 Java 后端技术开发者座右铭Technology has the power to make the world a better place. 我对技术的热情是我不断学习和分享的动力。我的博客是一个关于Java生态系统、后端开发和最新技术趋势的地方。 作为一个 Java 后端技术爱好者我不仅热衷于探索语言的新特性和技术的深度还热衷于分享我的见解和最佳实践。我相信知识的分享和社区合作可以帮助我们共同成长。 在我的博客上你将找到关于Java核心概念、JVM 底层技术、常用框架如Spring和Mybatis 、MySQL等数据库管理、RabbitMQ、Rocketmq等消息中间件、性能优化等内容的深入文章。我也将分享一些编程技巧和解决问题的方法以帮助你更好地掌握Java编程。 我鼓励互动和建立社区因此请留下你的问题、建议或主题请求让我知道你感兴趣的内容。此外我将分享最新的互联网和技术资讯以确保你与技术世界的最新发展保持联系。我期待与你一起在技术之路上前进一起探讨技术世界的无限可能性。 保持关注我的博客让我们共同追求技术卓越。