<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>学习记录吧</title><link>https://www.xxjl8.com/</link><description></description><item><title>burp suite 安装</title><link>https://www.xxjl8.com/?id=36</link><description>&lt;ol class=&quot; list-paddingleft-2&quot; style=&quot;list-style-type: decimal;&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;先下载burp suite,然后在谷歌浏览器的应用商店里面下载SwitchyOmega代理扩展（需要翻墙，所以要先下载v2rayn），下载后新建一个burp情景模式，在代理上面选择HTTP,127.0.0.1 8080端口，然后应用。&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;保存好后在浏览器的url栏右边选中刚刚设置的代理设置，不然burp无法抓取到数据包，此方法不用开启系统代理，只是用SwitchyOmega扩展的浏览器代理功能。&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;打开浏览器输入：127.0.0.1：代理的端口，下载证书，下载好证书后，双击在本地安装一下，然后在浏览器里面的管理证书里面也安装一下，都选择受信任的根证书。&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;</description><pubDate>Sun, 07 Jul 2024 22:28:10 +0800</pubDate></item><item><title>GnuPG 加密文件夹的步骤</title><link>https://www.xxjl8.com/?id=35</link><description>&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;先压缩：&lt;br/&gt;&lt;/p&gt;&lt;p&gt;tar -czvf folder.tar.gz /path/to/your/folder&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;加密命令：&lt;/p&gt;&lt;p&gt;gpg --output playwright.gpg --symmetric --cipher-algo AES256 Playwright_bei.tar.gz&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;解密命令：&lt;br/&gt;&lt;/p&gt;&lt;p&gt;gpg --output 43dfd.pem --decrypt x32.pem.gpg&lt;/p&gt;</description><pubDate>Fri, 28 Jun 2024 20:34:38 +0800</pubDate></item><item><title>Certbot如何申请RSA证书</title><link>https://www.xxjl8.com/?id=34</link><description>&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;命令如下：&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;certbot&amp;nbsp;-d&amp;nbsp;xhhtest.xxjl8.com&amp;nbsp;--manual&amp;nbsp;--preferred-challenges&amp;nbsp;dns-01&amp;nbsp;--server&amp;nbsp;https://acme-v02.api.letsencrypt.org/directory&amp;nbsp;certonly&amp;nbsp;--key-type&amp;nbsp;rsa&amp;nbsp;--agree-tos&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#xhhtest.xxjl8.com&amp;nbsp;修改为自己的域名&lt;/pre&gt;&lt;p&gt;按照提示去域名DNS解析添加TXT文本解析。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;一般保存在：/etc/letsencrypt/live/xhhtest.xxjl8.com/.1.pem&lt;/p&gt;</description><pubDate>Fri, 28 Jun 2024 12:40:40 +0800</pubDate></item><item><title>Scapy中发送数据包的函数集合</title><link>https://www.xxjl8.com/?id=31</link><description>&lt;p&gt;在 Scapy 中，有多个函数用于发送数据包，每个函数适用于不同的协议层。下面详细解释这些函数及其用途：&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3&gt;&lt;code&gt;send()&lt;/code&gt;&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 发送数据包到网络（通常用于三层，即网络层）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;适用层&lt;/strong&gt;: 网络层（第三层），例如 IP 层。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;使用场景&lt;/strong&gt;: 发送 IP 层的数据包，如 TCP/UDP 数据包。&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;from&amp;nbsp;scapy.all&amp;nbsp;import&amp;nbsp;send,&amp;nbsp;IP,&amp;nbsp;ICMP
pkt&amp;nbsp;=&amp;nbsp;IP(dst=&amp;quot;8.8.8.8&amp;quot;)&amp;nbsp;/&amp;nbsp;ICMP()
send(pkt)&lt;/pre&gt;&lt;h3&gt;&lt;code&gt;sendp()&lt;/code&gt;&lt;br/&gt;&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 发送数据包到网络（用于二层，即数据链路层）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;适用层&lt;/strong&gt;: 数据链路层（第二层），例如以太网帧。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;使用场景&lt;/strong&gt;: 发送以太网帧或自定义链路层数据包。&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;from&amp;nbsp;scapy.all&amp;nbsp;import&amp;nbsp;sendp,&amp;nbsp;Ether,&amp;nbsp;ARP
pkt&amp;nbsp;=&amp;nbsp;Ether(dst=&amp;quot;ff:ff:ff:ff:ff:ff&amp;quot;)&amp;nbsp;/&amp;nbsp;ARP(pdst=&amp;quot;192.168.1.1&amp;quot;)
sendp(pkt)&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3&gt;&lt;code&gt;sr()&lt;/code&gt;&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 发送和接收数据包（通常用于三层，即网络层）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;适用层&lt;/strong&gt;: 网络层（第三层），例如 IP 层。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;使用场景&lt;/strong&gt;: 发送 IP 层的数据包并接收响应。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;返回值&lt;/strong&gt;: 一个元组，包含 &lt;code&gt;SndRcvList&lt;/code&gt; 对象（已发送和收到响应的数据包）和未响应的数据包列表。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;from&amp;nbsp;scapy.all&amp;nbsp;import&amp;nbsp;sr,&amp;nbsp;IP,&amp;nbsp;ICMP
pkt&amp;nbsp;=&amp;nbsp;IP(dst=&amp;quot;8.8.8.8&amp;quot;)&amp;nbsp;/&amp;nbsp;ICMP()
answered,&amp;nbsp;unanswered&amp;nbsp;=&amp;nbsp;sr(pkt)&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3&gt;&lt;/h3&gt;&lt;h3&gt;&lt;code&gt;sr1()&lt;/code&gt;&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 发送一个数据包并接收一个响应（通常用于三层，即网络层）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;适用层&lt;/strong&gt;: 网络层（第三层），例如 IP 层。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;使用场景&lt;/strong&gt;: 发送 IP 层的数据包并接收第一个响应。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;返回值&lt;/strong&gt;: 接收到的第一个响应数据包。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;background-color: #F8F8F8;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: #F8F8F8;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;from&amp;nbsp;scapy.all&amp;nbsp;import&amp;nbsp;sr1,&amp;nbsp;IP,&amp;nbsp;ICMP
pkt&amp;nbsp;=&amp;nbsp;IP(dst=&amp;quot;8.8.8.8&amp;quot;)&amp;nbsp;/&amp;nbsp;ICMP()
response&amp;nbsp;=&amp;nbsp;sr1(pkt)&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3&gt;&lt;code&gt;srp()&lt;/code&gt;&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 发送和接收数据包（用于二层，即数据链路层）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;适用层&lt;/strong&gt;: 数据链路层（第二层），例如以太网帧。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;使用场景&lt;/strong&gt;: 发送以太网帧或自定义链路层数据包并接收响应。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;返回值&lt;/strong&gt;: 一个元组，包含 &lt;code&gt;SndRcvList&lt;/code&gt; 对象（已发送和收到响应的数据包）和未响应的数据包列表。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;from&amp;nbsp;scapy.all&amp;nbsp;import&amp;nbsp;srp,&amp;nbsp;Ether,&amp;nbsp;ARP
pkt&amp;nbsp;=&amp;nbsp;Ether(dst=&amp;quot;ff:ff:ff:ff:ff:ff&amp;quot;)&amp;nbsp;/&amp;nbsp;ARP(pdst=&amp;quot;192.168.1.1&amp;quot;)
answered,&amp;nbsp;unanswered&amp;nbsp;=&amp;nbsp;srp(pkt)&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3&gt;&lt;code&gt;srp1()&lt;/code&gt;&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 发送一个数据包并接收一个响应（用于二层，即数据链路层）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;适用层&lt;/strong&gt;: 数据链路层（第二层），例如以太网帧。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;使用场景&lt;/strong&gt;: 发送以太网帧或自定义链路层数据包并接收第一个响应。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;返回值&lt;/strong&gt;: 接收到的第一个响应数据包。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;from&amp;nbsp;scapy.all&amp;nbsp;import&amp;nbsp;srp1,&amp;nbsp;Ether,&amp;nbsp;ARP
pkt&amp;nbsp;=&amp;nbsp;Ether(dst=&amp;quot;ff:ff:ff:ff:ff:ff&amp;quot;)&amp;nbsp;/&amp;nbsp;ARP(pdst=&amp;quot;192.168.1.1&amp;quot;)
response&amp;nbsp;=&amp;nbsp;srp1(pkt)&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3&gt;&lt;code&gt;srloop()&lt;/code&gt;&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 循环发送数据包并接收响应（通常用于三层，即网络层）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;适用层&lt;/strong&gt;: 网络层（第三层），例如 IP 层。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;使用场景&lt;/strong&gt;: 连续发送相同的数据包并接收响应，适合网络扫描或稳定性测试。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;from&amp;nbsp;scapy.all&amp;nbsp;import&amp;nbsp;srloop,&amp;nbsp;IP,&amp;nbsp;ICMP
pkt&amp;nbsp;=&amp;nbsp;IP(dst=&amp;quot;8.8.8.8&amp;quot;)&amp;nbsp;/&amp;nbsp;ICMP()
srloop(pkt,&amp;nbsp;count=5)&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3&gt;&lt;code&gt;srploop()&lt;/code&gt;&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 循环发送数据包并接收响应（用于二层，即数据链路层）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;适用层&lt;/strong&gt;: 数据链路层（第二层），例如以太网帧。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;使用场景&lt;/strong&gt;: 连续发送相同的数据包并接收响应，适合数据链路层的网络扫描或稳定性测试。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;from&amp;nbsp;scapy.all&amp;nbsp;import&amp;nbsp;srploop,&amp;nbsp;Ether,&amp;nbsp;ARP
pkt&amp;nbsp;=&amp;nbsp;Ether(dst=&amp;quot;ff:ff:ff:ff:ff:ff&amp;quot;)&amp;nbsp;/&amp;nbsp;ARP(pdst=&amp;quot;192.168.1.1&amp;quot;)
srploop(pkt,&amp;nbsp;count=5)&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 23 Jun 2024 15:39:30 +0800</pubDate></item><item><title>解决使用scapy库无法发包问题</title><link>https://www.xxjl8.com/?id=30</link><description>&lt;p&gt;使用了root用户还是提示没有权限：PermissionError: [Errno 1] Operation not permitted&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;原因：运行脚步是使用了root权限，但是如果python解释器没有执行&lt;span style=&quot;text-wrap: wrap;&quot;&gt;原始套接字的访问权限和网络管理权限，就会出现上面的错误。&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;解决：使用 &lt;code&gt;setcap&lt;/code&gt; 命令对实际的 Python 解释器设置权限：&lt;/strong&gt;&lt;/h2&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;sudo&amp;nbsp;setcap&amp;nbsp;cap_net_raw,cap_net_admin=eip&amp;nbsp;xxxxxxx/scapy_env/bin/python3.11&lt;/pre&gt;&lt;p&gt;“xxxxxxx/&lt;span style=&quot;text-wrap: wrap;&quot;&gt;scapy_env/bin/python3.11&lt;/span&gt;”是python解释器实际的位置(&lt;span style=&quot;background-color: #FFFFFF; color: #FF0000;&quot;&gt;&lt;strong&gt;readlink -f $(which python3)&lt;/strong&gt;&lt;/span&gt;命令可以获取到)&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;setcap命令用于给指定的可执行文件（这里是Python解释器）设置特定的能力，使其在执行过程中具有指定的权限。&lt;/p&gt;&lt;p&gt;cap_net_raw和cap_net_admin是两个网络相关的能力，分别表示对原始套接字的访问权限和网络管理权限。&lt;/p&gt;&lt;p&gt;eip表示将这两个能力授予指定的可执行文件，即Python解释器。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;移除特权：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;sudo&amp;nbsp;setcap&amp;nbsp;-r&amp;nbsp;xxxxxxx/scapy_env/bin/python3.11&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;查看是否移除了特权：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;getcap&amp;nbsp;xxxxxxx/scapy_env/bin/python3.11&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;查找可执行文件路径&lt;/strong&gt;:&lt;/p&gt;&lt;/li&gt;&lt;ul class=&quot; list-paddingleft-2&quot; style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;p&gt;使用 &lt;code&gt;which python3&lt;/code&gt; 可以快速找到 &lt;code&gt;python3&lt;/code&gt; 的路径，但可能是符号链接。&lt;span style=&quot;text-wrap: wrap;&quot;&gt;如果路径是一个符号链接（symlink），它不会解析符号链接到实际文件。&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;适合快速检查命令路径。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;解析实际文件路径&lt;/strong&gt;:&lt;/p&gt;&lt;/li&gt;&lt;ul class=&quot; list-paddingleft-2&quot; style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;p&gt;使用 &lt;code&gt;readlink -f $(which python3)&lt;/code&gt; 可以找到 &lt;code&gt;python3&lt;/code&gt; 的实际文件路径，特别是当你需要对实际文件进行操作（如设置权限）时。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;适合需要实际文件路径的场景，如设置特权或进行其他需要实际路径的操作。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sat, 22 Jun 2024 20:22:57 +0800</pubDate></item><item><title>如何在 Ubuntu 22.04 中安装和使用 Wireshark最新版</title><link>https://www.xxjl8.com/?id=29</link><description>&lt;h2&gt;1.添加官方Wireshark仓库：&lt;/h2&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;sudo&amp;nbsp;add-apt-repository&amp;nbsp;ppa:wireshark-dev/stable
sudo&amp;nbsp;apt&amp;nbsp;update&lt;/pre&gt;&lt;h2&gt;2.安装：&lt;br/&gt;&lt;/h2&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;sudo&amp;nbsp;apt&amp;nbsp;install&amp;nbsp;wireshark&amp;nbsp;-y&lt;/pre&gt;&lt;h2&gt;3.查看版本：&lt;br/&gt;&lt;/h2&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;wireshark&amp;nbsp;--version&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Fri, 07 Jun 2024 22:26:53 +0800</pubDate></item><item><title>数据链路层</title><link>https://www.xxjl8.com/?id=28</link><description>&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://www.xxjl8.com/zb_users/upload/2024/06/202406031717425167117415.png&quot; title=&quot;2024-06-03_22-01.png&quot; alt=&quot;2024-06-03_22-01.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;为什么使用Wireshark抓包 （enp4s0网卡）ARP ，帧的长度只有42个字节？&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;因为Wireshark 抓包位置如果是在本地，那么对于本地产生所发出的数据包，是在进网卡之前所抓取的包，而填充数据以及 CRC（上面的FCS4个字节） 一般是由网卡硬件/驱动程序完成，所以 42 字节的组成并不包含填充数据和 CRC 部分。 （这里是发送数据出去）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2 style=&quot;text-wrap: wrap;&quot;&gt;&lt;strong&gt;为什么使用Wireshark抓包 （enp4s0网卡）ARP ，帧的长度只有60个字节？&lt;/strong&gt;&lt;/h2&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;因为现在这60个字节的帧 是来自对方的 ARP 响应包，包含了填充数据 (对方网卡完成，有效载荷字节不够46字节会补够46字节)，但不含 FCS部分 (本地网卡接收到后会剥离这4字节，可以说普通网卡基本都会剥离它，所以Wireshark 看不到 CRC 部分)。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;span style=&quot;font-size: 16px; text-wrap: wrap; box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-synthesis-style: auto; overflow-wrap: break-word; color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #F5F5F5;&quot;&gt;&amp;nbsp;当数据帧到达网卡时，在物理层上网卡要先去掉前导同步码和帧开始定界符，然后对帧进行CRC检验，如果帧校验和出错，就丢弃此帧。如果校验和正确，就判断帧的目的硬件地址是否符合自己的接收条件（目的地址是自己的物理硬件地址、广播地址、可接收的多播硬件地址等），如果符合，就将帧交给“设备驱动程序”做进一步处理。这时我们抓包的软件才能抓到数据，因此，抓包软件抓到的是去掉前导同步码、帧开始分界符、FCS之外的数据，其最大是6&amp;nbsp;+&amp;nbsp;6&amp;nbsp;+&amp;nbsp;2&amp;nbsp;+&amp;nbsp;1500&amp;nbsp;=&amp;nbsp;1514，最小是6+6+2+46=60。&lt;/span&gt;&lt;span style=&quot;font-size: 16px; text-wrap: wrap; color: #333333; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif, SimHei, SimSun; background-color: #FFFFFF;&quot;&gt;&lt;/span&gt;&lt;br style=&quot;font-size: 16px; text-wrap: wrap; box-sizing: border-box; outline: 0px; font-synthesis-style: auto; overflow-wrap: break-word; color: rgb(51, 51, 51); font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: rgb(245, 245, 245);&quot;/&gt;&lt;span style=&quot;font-size: 16px; text-wrap: wrap; box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-synthesis-style: auto; overflow-wrap: break-word; color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #F5F5F5;&quot;&gt;因此，抓包时就是60字节。当数据字段的长度小于46字节时，MAC子层就会在数据字段的后面填充以满足数据帧长不小于64&amp;nbsp;字节。由于填充数据是由MAC子层负责，也就是设备驱动程序。&lt;/span&gt;&lt;span style=&quot;font-size: 16px; text-wrap: wrap; color: #333333; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif, SimHei, SimSun; background-color: #FFFFFF;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 16px; text-wrap: wrap; box-sizing: border-box; outline: 0px; margin: 0px; --el-button-hover-border-color: #6D5FFD; --el-button-active-bg-color: #6D5FFD; --el-button-active-border-color: #6D5FFD; font-synthesis-style: auto; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #F5F5F5; color: #FF0000; padding: 0px; --el-button-hover-bg-color: #6D5FFD; overflow-wrap: break-word;&quot;&gt;不同的抓包程序和设备驱动程序所处的优先层次可能不同，抓包程序的优先级可能比设备驱动程序更高，也就是说，我们的抓包程序可能在设备驱动程序还没有填充到64字节帧的时候，已经捕获了数据。因此不同的抓包工具抓到的数据帧的大小可能不同。&lt;/span&gt;&lt;span style=&quot;font-size: 16px; color: #7030A0;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 16px; text-wrap: wrap; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif, SimHei, SimSun; background-color: #FFFFFF;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 16px; text-wrap: wrap; box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-synthesis-style: auto; overflow-wrap: break-word; color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #F5F5F5;&quot;&gt;（比如，wireshark抓到的可能没有填充数据段，而sniffer抓到的就有填充数据段）&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;本地ICMP在wireshark抓包时的42字节发送给服务器后，服务器接收到的是60字节的ICMP。。&lt;/span&gt;&lt;/p&gt;</description><pubDate>Mon, 03 Jun 2024 22:32:24 +0800</pubDate></item><item><title>V2ray代理软件的运行原理</title><link>https://www.xxjl8.com/?id=27</link><description>&lt;h2 style=&quot;margin-top: 0px; margin-bottom: 0px;&quot;&gt;&lt;strong&gt;1.浏览器到V2Ray客户端&lt;/strong&gt;：&lt;/h2&gt;&lt;p style=&quot;text-indent: 2em;&quot;&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;当浏览器发送数据时，它首先会构建一个网络请求，该请求包含目标网址、请求方法（如 GET、POST 等）、请求头（包含用户代理、Cookie 等信息）、请求体（对于 POST 请求）、以及其他必要&lt;/span&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;的信息。然后，这个请求会发送到本地主机上的一个网络端口，通常是通过操作系统提供的网络栈发送的。&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-indent: 2em;&quot;&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-indent: 2em;&quot;&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-indent: 2em;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;V2ray 客户端软件通常会监听一个本地端口（例如 HTTP 代理通常监听的是 1080 端口），并在本地主机上创建一个代理服务器。浏览器可以通过设置代理服务器地址和端口将其所有的网络流量路由到 V2ray 客户端软件上。这样，当浏览器发送请求时，请求就会被发送到 V2ray 客户端软件监听的端口上。V2ray 客户端软件会接收这些数据。&lt;br/&gt;&lt;/p&gt;&lt;h2 style=&quot;margin-top: 0px; margin-bottom: 0px;&quot;&gt;&lt;strong&gt;2.加密和路由&lt;/strong&gt;：&lt;/h2&gt;&lt;p style=&quot;text-indent: 2em;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;V2Ray客户端接收到数据后，根据配置文件中的规则，对数据进行加密和路由决策。加密旨在保护数据在传输过程中的隐私和安全，而路由决策则决定了数据将通过哪个服务器传输。&lt;/p&gt;&lt;h2 style=&quot;margin-top: 0px; margin-bottom: 0px;&quot;&gt;&lt;strong&gt;3.客户端到服务器&lt;/strong&gt;：&lt;/h2&gt;&lt;p style=&quot;text-indent: 2em;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;加密后的数据被发送到配置中指定的V2Ray服务器。这个过程中，数据可能会通过互联网上的多个节点，但由于数据已经被加密，中间节点无法查看数据的原始内容。&lt;/p&gt;&lt;h2 style=&quot;margin-top: 0px; margin-bottom: 0px;&quot;&gt;&lt;strong&gt;4.服务器处理&lt;/strong&gt;：&lt;/h2&gt;&lt;p style=&quot;text-indent: 2em;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;V2Ray服务器接收到加密的数据后，会进行解密，然后根据客户端的请求将数据转发到目标网站。服务器的角色相当于一个中继，它连接了客户端和目标网站。&lt;/p&gt;&lt;h2 style=&quot;margin-top: 0px; margin-bottom: 0px;&quot;&gt;&lt;strong&gt;5.目标网站响应&lt;/strong&gt;：&lt;/h2&gt;&lt;p style=&quot;text-indent: 2em;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;目标网站处理请求后，会将响应数据发送回V2Ray服务器。然后，服务器根据与客户端之间建立的连接，将响应数据加密并发送回客户端。&lt;/p&gt;&lt;h2 style=&quot;margin-top: 0px; margin-bottom: 0px;&quot;&gt;&lt;strong&gt;6.服务器到客户端&lt;/strong&gt;：&lt;/h2&gt;&lt;p style=&quot;text-indent: 2em;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;V2Ray客户端接收到来自服务器的加密响应数据，进行解密，然后将原始响应数据发送到浏览器。&lt;/p&gt;&lt;h2 style=&quot;margin-top: 0px; margin-bottom: 0px;&quot;&gt;&lt;strong&gt;7.浏览器接收数据&lt;/strong&gt;：&lt;/h2&gt;&lt;p style=&quot;text-indent: 2em;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;浏览器接收到来自V2Ray客户端的响应数据，就像它直接从目标网站接收数据一样。用户因此可以看到目标网站的内容。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br style=&quot;text-wrap: wrap;&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 02 Jun 2024 20:42:00 +0800</pubDate></item><item><title>Ubuntu杀毒软件ClamAV使用</title><link>https://www.xxjl8.com/?id=23</link><description>&lt;h3&gt;&lt;strong&gt;安装：&lt;/strong&gt;&lt;/h3&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;sudo&amp;nbsp;apt&amp;nbsp;update
sudo&amp;nbsp;apt&amp;nbsp;install&amp;nbsp;clamav&lt;/pre&gt;&lt;h3&gt;更新病毒库：&lt;/h3&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;sudo&amp;nbsp;freshclam&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;常用参数：&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;-i&amp;nbsp;&amp;nbsp;仅仅打印被感染的文件
-d&amp;lt;文件&amp;gt;&amp;nbsp;以指定的文件作为病毒库，一代替默认的/var/clamav目录下的病毒库文件
-l&amp;nbsp;&amp;lt;文件&amp;gt;&amp;nbsp;指定日志文件，以代替默认的/var/log/clamav/freshclam.log文件
-r&amp;nbsp;递归扫描，即扫描指定目录下的子目录
--move=&amp;lt;目录&amp;gt;&amp;nbsp;把感染病毒的文件移动到指定目录
--remove&amp;nbsp;删除感染病毒的文件&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;扫描全盘，隔离文件到指定目录并生成日志：&lt;/strong&gt;&lt;/h3&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;sudo&amp;nbsp;&amp;nbsp;clamscan&amp;nbsp;-r&amp;nbsp;-i&amp;nbsp;/&amp;nbsp;--move=/home/xhh/11&amp;nbsp;&amp;nbsp;-l&amp;nbsp;/home/xhh/clamscan.log&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Tue, 28 May 2024 08:34:39 +0800</pubDate></item><item><title>CentOS 常用命令</title><link>https://www.xxjl8.com/?id=20</link><description>&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;环境变量：&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;env&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;查看全部变量&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;echo $SHELL&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;查看单个变量&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color:#00b050&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;~/.bashrc&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;用户变量，修改后需要执行：source ~/.bashrc&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color:#00b050&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;/etc/profile&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;系统变量，修改后需要执行：source /etc/profile&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;重定向符号：&lt;/span&gt;&lt;/h2&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;strong style=&quot;color: rgb(255, 0, 0); font-size: 20px; text-indent: 2em;&quot;&gt;&lt;span style=&quot;color: #0C0C0C; font-size: 14px;&quot;&gt;&amp;gt;&amp;nbsp; &lt;span style=&quot;font-size: 14px; color: #00B050;&quot;&gt;覆盖&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #7030A0;&quot;&gt;ls /home &amp;gt; a.txt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;;把原本显示在显示器上面的ls命令执行的输出&lt;span style=&quot;color: #FF0000;&quot;&gt;覆盖&lt;/span&gt;到a.txt文件内，屏幕上面不显示命令的执行输出了，a.txt文件的内容每次都会被覆盖。&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;strong style=&quot;color: rgb(255, 0, 0); font-size: 20px; text-indent: 2em;&quot;&gt;&lt;span style=&quot;color: #0C0C0C; font-size: 14px;&quot;&gt;&amp;gt;&amp;gt; &lt;span style=&quot;font-size: 14px; color: #00B050;&quot;&gt;追加&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #7030A0;&quot;&gt;echo &amp;quot;输入的内容&amp;quot;&amp;nbsp; 1&amp;gt;&amp;gt; a.txt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;;&lt;strong style=&quot;color: rgb(255, 0, 0); font-size: 20px;&quot;&gt;&lt;span style=&quot;color: #0C0C0C; font-size: 14px;&quot;&gt;把原本显示在显示器上面的ls命令执行的输出&lt;span style=&quot;color: #FF0000;&quot;&gt;追加&lt;/span&gt;到a.txt文件内，屏幕上面不显示命令的执行输出了，每次都会在a.txt文件内容的最后面追加输出的结果，1代表标准输出，可以省略，2代表标准错误输出重定向，可以把错误的内容存储在a.txt文件中。&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;strong style=&quot;color: rgb(255, 0, 0); font-size: 20px; text-indent: 2em;&quot;&gt;&lt;span style=&quot;color: #0C0C0C; font-size: 14px;&quot;&gt;&lt;strong style=&quot;color: rgb(255, 0, 0); font-size: 20px;&quot;&gt;&lt;span style=&quot;color: #0C0C0C; font-size: 14px;&quot;&gt;&amp;lt; &lt;span style=&quot;font-size: 14px; color: #00B050;&quot;&gt;执行文件内容中的命令&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 14px; color: #7030A0;&quot;&gt;cd 0&amp;lt; a.txt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;font-size: 14px; color: #0C0C0C;&quot;&gt;;a.txt文件的内容为/root，执行了cd &amp;lt; a.txt后，就相当于执行cd /root，默认为0,可以省略。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;strong style=&quot;color: rgb(255, 0, 0); font-size: 20px; text-indent: 2em;&quot;&gt;&lt;span style=&quot;color: #0C0C0C; font-size: 14px;&quot;&gt;&lt;strong style=&quot;color: rgb(255, 0, 0); font-size: 20px;&quot;&gt;&lt;span style=&quot;color: #0C0C0C; font-size: 14px;&quot;&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&lt;strong&gt;快捷键：&lt;/strong&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;Ctrl+Insert&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;复制&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;Shift+Insert&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;粘贴&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;Ctrl+E&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;光标移动到行尾&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;Ctrl+A&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;光标移动到行首&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;Ctrl+K&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;删除光标后面的所有内容&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;Ctrl+U&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&amp;nbsp;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;删除光标前面的所有内容&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&lt;strong&gt;命令：&lt;/strong&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;history&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;查看历史命令&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;echo &amp;gt; ~/.bash_history&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;清除历史记录&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;touch 1.txt&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;创建文件&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;rm 1.txt&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;删除文件，需要输入Y确认&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;rm -f 1.txt&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp; &amp;nbsp; 强制删除文件&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;mkdir files&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt; &amp;nbsp; 创建文件夹&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;rm -r files&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp; 递归删除文件夹内所有内容，需要输入Y确认&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;rm -rf files&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp; &amp;nbsp;递归强制删除文件夹内所有内容&lt;br/&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;file home&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;查看文件或目录类型信息&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;cp 1.txt 1.txt.bak&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;复制文件&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;find /usr -name &amp;quot;*.img&amp;quot;&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;查找文件或目录&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;find -type f -name &amp;quot;a*&amp;quot;&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;查找类型为“f”文件类型，a开头的所有文件&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;find -type d -name &amp;quot;a*&amp;quot;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;查找类型为“d”目录，a开头的所有目录&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;whereis nc&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;查找二进制程序，代码等相关文件路径&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;which ls&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;查找并显示给定命令的绝对路径&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;tar -cvf test.tar *.txt&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;把所有.txt文件打包为test.tar&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;tar -xvf test.tar -C 11&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;把test.tar文件解包到11文件夹里&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;tar -czvf test.tar.gz *.txt&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong style=&quot;color: rgb(0, 176, 80); text-wrap: wrap;&quot;&gt;使用gz压缩格式，&lt;/strong&gt;把所有.txt文件打包压缩为test.tar.gz&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;tar -xzvf test.tar.gz -C 11&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;把test.tar.gz文件解压到11文件夹里&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;tar -cjvf test.tar.bz2 *.txt&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;使用bz2压缩格式&lt;span style=&quot;color: #FF0000;&quot;&gt;(通常比gz压缩率更高，但更费时间)&lt;/span&gt;，把所有.txt文件打包压缩为test.tar.bz2&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;tar -xjvf test.tar.bz2 -C 11&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;把test.tar.bz2文件解压到11文件夹里&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;ls | wc -l&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;统计当前文件夹内有多少文件&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;find . -name &amp;quot;*.txt&amp;quot; -exec ls -lahS {} + | awk &amp;#39;{print NR, $0}&amp;#39;&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp; &lt;span style=&quot;color: #FF0000;&quot;&gt;（默认递归查找）&lt;/span&gt;查找当前目录下所有.txt的&lt;span style=&quot;color: #FF0000;&quot;&gt;文件&lt;/span&gt;，找到后按文件的从大到小的来排列&lt;span style=&quot;color: #FF0000;&quot;&gt;（+代表全部找完后再执行，\;代表每次都执行）&lt;/span&gt;，最后在前面加上数字索引&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;grep &amp;quot;ls --color=auto&amp;quot; * . -r -n&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #FF0000;&quot;&gt;（默认不递归，需要添加-r递归）&lt;/span&gt;递归的查找当前目录下所有文件的&lt;span style=&quot;color: #FF0000;&quot;&gt;内容&lt;/span&gt;，是否有&lt;strong style=&quot;color: rgb(0, 176, 80); text-wrap: wrap;&quot;&gt;ls --color=auto这段字符串，有就返回在第几行。&lt;/strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&lt;strong&gt;用户管理类：&lt;/strong&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;cat /etc/passwd&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;查看基本系统用户信息&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0C0C0C;&quot;&gt;&lt;strong&gt;sudo cat /etc/shadow&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;查看系统用户的加密秘密和相关的密码策略信息&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;</description><pubDate>Wed, 15 May 2024 13:51:50 +0800</pubDate></item></channel></rss>