<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>雪月吧</title><link>http://www.xueyue8.cn/zblog/</link><description>Good Luck To You!</description><item><title>123</title><link>http://www.xueyue8.cn/zblog/?id=19</link><description>&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;靶场&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;https://10.5.101.97/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;管理员账号&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;admin&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;Nsfocus@123&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;场景攻击队&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;zhangsan&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;Nsfocus@123&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;场景防守队&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;lisi&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;Nsfocus@123&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;场景中防火墙的账号密码&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;weboper&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;Admin@1234&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;-------------------------------------------&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;态势感知平台&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;https://10.5.101.96/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;admin&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;Nsfocus@12&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;入侵检测系统&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;https://10.5.101.95/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;admin&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;Nsfocus@123&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Wed, 20 Sep 2023 16:42:25 +0800</pubDate></item><item><title>BT578说明书</title><link>http://www.xueyue8.cn/zblog/?id=18</link><description>&lt;p&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;&lt;strong&gt;说明书见附件&lt;/strong&gt;&lt;/span&gt;&lt;br/&gt;&lt;img class=&quot;ue-image&quot; src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2023/05/202305211684631799735614.png&quot; style=&quot;&quot; title=&quot;115200.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2023/05/202305211684631799269619.png&quot; style=&quot;&quot; title=&quot;F+com7.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 21 May 2023 09:15:31 +0800</pubDate></item><item><title>高血压高血糖不是病——梁克森的分享</title><link>http://www.xueyue8.cn/zblog/?id=17</link><description>&lt;p style=&quot;text-align:center&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size:29px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;高血压高血糖不是病&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;——&lt;/span&gt;&lt;span style=&quot;;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;敬畏大自然，感恩本能系统医学&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;一&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;我叫梁克森，今年76岁。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;我是2019年12月7号，我姑爷李恒带上我和妻子一块儿去了武强拜见郭达成院长。院长热情地接待了我们。片刻时间，院长会诊我们的状况，立刻给我们指明了调理的正确方案，并指定一名有丰富经验的高级指导老师（韩晓红）指导我们两口子调理。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;我自2019年12月9号正式调理。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;两天后就把多年来吃的药停了——血压高，糖尿病，两个支架儿的药，血脂高，尤其糖尿病的药，胰岛素（早打18个，晚12个），中早晚各一片“二甲双胍”等药。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;身体没调理前，体重是81.4公斤。血压是高压155，低压90。血糖，空腹总是八九个，饭后一般都是十四五个。等到了2020年的六月份，我的血压是120/70，血糖是在5.0以下，通过医院检查，大夫说，你这个岁数，还这么好，就是血糖有点儿低了。通过检查我就放心了，所以我就放开吃了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;从2020年六月底开始吃的，到2021年的二月份就进入医院，住了九天的医院，仅仅的七个多月就是这个结果，住院理由是，头晕、吐、恶心。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;第二次住院是2021年的11月11日。又住了九天医院，理由是跟上次同样。就是比2021年（二月份住院那次）延长了一个多月住的医院，受尽了大罪，后悔莫及。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;该总结经验了。我愿我找出的原因，绝不能再受第三回苦了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;通过总结，原因就是没按规矩办。毛病还是从“吃”造成的，从2019年12月开始至2021年11月就是这样的结局。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;二&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;下面，我把我在调理中出现的一些事情向郭达成院长，向各位调理师解释解释。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;在调理过程中出现的一切现象都是正常的，如浑身的瘙痒、耳鸣、头晕、恶心、腿肿、口干等等等，耳朵痒痒、打喷嚏、流眼泪、打哈欠，这都是正常的现象，请不要害怕！请不要害怕！&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;三&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;一定要有正确的信念，干什么事儿没有信念，那叫胡扯！干什么认准的事情你要相信，要照着你的观念去照办，你别半信半疑，这个总是一事无成。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;我就说，你要相信《本能论新解》，但是，一万个人里相信的也就有一个两个的，就是万里有一个人相信就不错了，我说的是一开始，不是现在。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;没缘分的人，太多了，好心人难劝该死的鬼，该死的鬼，这个人呐，他没有缘分，你跟他说一万句也没有用，说一万句还是没用，你就甭跟他扯皮。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;要是有缘的话，你一点他就明白，你一点他就明白，这无缘的人呢，你跟他说什么也没有用，所以说这种人你就不要理他了，这是我个人的看法，不一定正确。好心人难劝该死的鬼，我就是这么想的，是不是？我跟你说你不相信，我就不搭理你了，我也不跟你费口舌了，是不是？因为我不是专业干这个的，啊！&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;四&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;在调理过程中，要忍受磨难，要有恒心，否则就一切失败了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;你相信了是相信了，在进行调理了，在中途出现的问题，比方说腿痒，浑身瘙痒，挠的到处是血道子，对不对，耳鸣，弄得您心烦意乱……你就忍不住了，怎么办呢？你要耐磨难，要有恒心，否则就一切完，啊，一切都完了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;首先呢，你在调理过程中要“听话、照办、守规矩”，都按规矩办。不按规矩办，你最后的结局什么结局呀？你成功不成功是一方面儿，你活受罪！你受完罪还不说，对不对？我为什么说你受罪呢，你要不按规矩办，这是必然的！没有别的路可走。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;五&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;对待这个事儿，我就是这个态度，你要是共产党，你就别入国民党，入了国民党了，共产党也不要你，为什么这么说呢？你脚踩两只船，共产党，你能相信吗？你相信也是假的，没有用，没有用！&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;六&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;再一个，要做的，我认为要做到三通，汗腺通，小便通，大便通。三通了，一切就全都通畅了，舒服开始啦！受益啦！就开始受益了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;汗通，不要流大汗，“温湿潮乎”就行了；小便，最起码的两个小时要有三次，最好半小时一次；大便要顺畅，成形儿的不好，你说我拉的就是这个什么，这个成形的屎橛子，这不好。最好是什么呢？稠糊的，排便的时候不费劲，稠糊的，这是好的，是最好的状态，不管次数多少，感觉舒服就行了，那是最好的，达到目的了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;要做到“吃喝动排休（平衡）”。吃喝了，你就要动弹，你不动弹就出不了汗，出不了汗，小便就少；小便少，大便就更不好办了，排不出去，不通畅了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;那怎么办呢？这一切要守“中道”，一切要守“中道”。怎么要求你的，我还是那句话，要“听话、照办、守规矩”，你得照办才行呢，不能违背规矩，违背规矩就完了，是吧。一切要守“中道”，不能过分，还要注意休息好，就是“吃喝动排休”这五个字儿，一定要牢牢的记住，要认真的去执行，绝对不能走样儿。走样儿就完，这绝对没有商量的事儿。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;七&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;通过这个指导，方法，你也懂得方法了，那就是怎么说呢？那个调理的好与不好，那就取决于你个人了。是不是，你中途，在调理当中，你不按规矩办，今天擩嘴里这个，明天擩嘴里这个，你就偷着擩，你认为别人不知道，但是你的本能知道啊！你这肚子，你自己的事儿，你不知道？是不是啊？将来以后怎么办呢？你要不按规矩办，将来你早晚结局还是受罪！还是受罪！&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;所以说，你懂了方法了，调理好与不好，那就取决于你个人了，谁也帮不了你，谁也帮不了。也就是说，师父领进了门，你修行在个人。老师不能老净跟着你吧？跟你说100遍，你还是这个德行，是不是？那不行！为什么有的人他好不了，在什么地方儿呢？他为什么好不啊？知道吗？好一点儿了，就跟我似的，好一点儿了，就忘乎所以了，啊，就忘乎所以了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;尤其旁边的人再一说，“你瘦成啥样儿啦？老&lt;/span&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif;color:#333333;background:white&quot;&gt;鸹&lt;/span&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;子快把你叼跑了“，是不是啊？所以这句话呀，你不要往心里听。你又只能不管谁说这样的话，你要正确的对待，跟人解释。你怎么说呢？我就这么说，“你有你的生活方式，我有我的生活方式，咱们看谁走到最后，好不好？咱们用这个是最好的检验标准了，是不是啊？”。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;您今儿个刚刚70岁，又咳嗽吧，又这个吧，那个吧，走不动道，腿发沉吧，那怎么造成的啊？那是您自己内心不该吃的东西您吃了，消化不了的东西您还是接着往嘴里、往口袋里装，那个胃受不了啦！&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;怎么办呢？受不了怎么办呢？那就对不起了，您原来是怎么难受来着？你还继续难受吧！难受，你忍不了了，你还上医院吧！医院也是开刀，开刀；愿意动剪子，动剪子，那就是您个人的事儿了，是不是？那就是说，你还是没按规矩办。人家指导老师跟你说得不是非常清楚吗？你不照着办，那赖谁呀？&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;为什么有的人，是不是啊，弄了四五年了，好不了，还恬不知耻地找人跟人说你这方法不怎么样。他不从自身找毛病，他找人家去。“花那么多钱，我都没弄好”。是弄不好！你“走一千倒八里”，那能好得了吗？好不了！你知道吗？你得“听话，照办，守规矩”才行呢，人家怎么指导，你怎么去执行。对不对？&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;有的人四五年了，他好不了，他为什么好不了啊？他没守规矩，能好得了吗？我刚才说了“走一千倒八里”，好点儿了，又开始吃；好点儿了，又开始吃，那能好得了吗？老是反复，你就直到心脏拉直了，你也好不了，这是我的断定！&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;八&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;你要想长寿，你就按规矩办。这最起码咱不图别的，说我岁数大了，活他妈100多了，怎么怎么回事儿……，但是，你要是相信《本能论新解》，是不是，你到临走那天，你都感觉到舒服，他不是呲牙咧嘴、痛苦着离去，这一点，我是相信这一点的。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;我是相信这一点的！因为这个《本能论新解》，他是有灵性的，你相信不相信，反正我相信，他是有灵性的！你比方说，你在调理过程中，你要有什么想法儿，也就是说，你要有一颗什么心呢？你要带着一颗感恩的心。是不是，要有一颗感恩的心！感什么恩呢？你得感谢《本能论新解》！&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;九&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;你喝完（功能性食品）以后呲牙咧嘴，你这是喝汤药呢？这不是药！这是“食”的一种。只不过跟鸡鸭鱼肉，大米饭、馒头不一样，是不是？这为什么叫换食疗法呀，是不是啊？什么叫换食啊？把你不该吃的东西，你要把它舍掉；好消化的东西，你多吃，比方说莲子、百合、山药，是不是啊？你多吃点胡萝卜、（蔬）菜是不是啊？多熬点儿窝瓜吃，是不是啊？这都可以，青菜，带叶儿的菜，您多吃点儿，是不是，您多吃点儿，还让吃水果儿……&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;不是不让你吃，什么都能让你吃，但是为什么有些东西不能吃呢？就一个原因，您那“机器”呀，老化啦，是不是啊？承载不了那么多东西了，是不是啊？&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;你刚买的汽车，前五年，它载重量是四吨，你给它装六吨，它也能走，为什么呢？它年轻啊！它有劲呐。到八、九年，那年头儿，甭说你再怎么超载（它载重量是四吨，你装六吨），你再装它本能那四吨载重量，它起步也慢，上坡，就更慢了……，他为什么血压高啊？跟人一样，那车上坡的时候拉着四吨东西，嗡嗡嗡……，使劲地较劲，为什么较劲呢？它没有那么大劲头儿了，它能不较劲吗？是不是啊？那怎么办呢？你就得给它减点儿了，上大坡儿的时候，你就别给它弄三吨了、四吨了，你就给它弄两吨，还能凑合，还能帮你几年。再等该淘汰了，年限到了，该淘汰了你不淘汰，你还想让它拉，甭说四吨了，一吨它都上不去了。只有在平道上还能凑凑呼呼给你拉拉，拉一吨左右还能给你拉拉，最后大结局，解体，完事儿，它就是这么回事儿。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;说不让吃这个，不让吃那个，什么都让你吃，就是一样儿，你能吃吗？你说你消化得了吗？你消化不了，是越吃越多，是越吃越多，吃多了以后，排不出去，就存在肚子里了，存在肚子里以后，那就是毒素——“自家中毒”了！&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;他为什么血糖高、血压高啊，为什么呢？他消化不了的东西，你愣让他消化。他怎么办呢？所以说，他就得血压（升）高。消化不了，你就得糖尿病，就是必然的现象。是不是？这是必然现象。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;所以说，一切毛病都是来自于你的口，来自你的口。那怎么办呢？那你就得忌口，就得忌口了，你要想长寿，要想舒服，你就得忌口。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;十&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;在这个调理换食的过程当中，它绝对是“只给帮助，不给伤害”，请有缘人大胆地、放心地相信《本能论新解》吧，大胆地相信《本能论新解》吧，早换食、早受益，早换食、早受益，我顺便编了几句顺口溜：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;鸡鸭鱼肉是毒药，糊涂死去不知道。&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;本能论是灵芝草，糊涂傻子看不到。&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;有缘早认本能论，舒服受益自逍遥。&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;有恩不报是蠢人，知恩报恩是正道。&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;感恩吧，我们要尊敬大自然，感恩《本能论新解》，谁救的你啊？《本能论新解》救的你。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;要一切顺势利导，不能倒着来、逆着行。大自然就这规律，有刮风、下雨、下大雪、泛洪水的，它就有风调雨顺的，喜怒哀乐，它都是正常现象，所以说，一切你不要逆着它来。就是现在的新冠肺炎也是一样。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;这个病，那个病，怎么弄的啊？它就是你身体本身消化不了，跟它拧着来，血压高，吃血压高的药；血糖高，吃降糖的药……，越降越完蛋，越吃药越完蛋。是药三分毒，你吃药（的时间）越长，完蛋的越早，是吧？所以说我们要尊畏大自然，感恩《本能论新解》，一切要顺势利导，不能逆着来！&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;在这里，最后我要感谢郭老爷子！感谢院长郭达成！感谢所有的指导老师，尤其是指导我的老师韩晓红。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;谢谢！如有不妥之处，请批评指正。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:right&quot;&gt;&lt;span style=&quot;font-size: 16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;梁克森&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:right&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;2021&lt;/span&gt;&lt;span style=&quot;font-size:16px;font-family:&amp;#39;微软雅黑&amp;#39;,sans-serif&quot;&gt;年12月3号&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align:right&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 05 Dec 2021 21:59:29 +0800</pubDate></item><item><title>为什么浏览器User-agent总是有Mozilla字样</title><link>http://www.xueyue8.cn/zblog/?id=16</link><description>&lt;p&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;你是否好奇标识浏览器身份的User-Agent，为什么每个浏览器都有Mozilla字样？&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;Mozilla/5.0 (Linux; U; Android 4.1.2; zh-tw; GT-I9300 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0)&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;故事还得从头说起，最初的主角叫NCSA Mosaic，简称Mosaic（马赛克），是1992年末位于伊利诺伊大学厄巴纳-香槟分校的国家超级计算机应用中心（National Center for Supercomputing Applications，简称NCSA）开发，并于1993年发布的一款浏览器。它自称“NCSA_Mosaic/2.0（Windows 3.1）”，Mosaic可以同时展示文字和图片，从此浏览器变得有趣多了。&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;然而很快就出现了另一个浏览器，这就是著名的Mozilla，中文名称摩斯拉。一说 Mozilla = Mosaic + Killer，意为Mosaic杀手，也有说法是 Mozilla = Mosaic &amp;amp; Godzilla，意为马赛克和哥斯拉，而Mozilla最初的吉祥物是只绿色大蜥蜴，后来更改为红色暴龙，跟哥斯拉长得一样。&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;但Mosaic对此非常不高兴，于是后来Mozilla更名为Netscape，也就是网景。Netscape自称“Mozilla/1.0(Win3.1)”，事情开始变得更加有趣。网景支持框架（frame），由于大家的喜欢框架变得流行起来，但是Mosaic不支持框架，于是网站管理员探测user agent，对Mozilla浏览器发送含有框架的页面，对非Mozilla浏览器发送没有框架的页面。&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;后来网景拿微软寻开心，称微软的Windows是“没有调试过的硬件驱动程序”。微软很生气，后果很严重。此后微软开发了自己的浏览器，这就是Internet Explorer，并希望它可以成为Netscape Killer。IE同样支持框架，但它不是Mozilla，所以它总是收不到含有框架的页面。微软很郁闷很快就沉不住气了，它不想等到所有的网站管理员都了解IE并且给IE发送含有框架的页面，它选择宣布IE是兼容Mozilla，并且模仿Netscape称IE为“Mozilla/1.22(compatible; MSIE 2.0; Windows 95)”，于是IE可以收到含有框架的页面了，所有微软的人都嗨皮了，但是网站管理员开始晕了。&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;因为微软将IE和Windows捆绑销售，并且把IE做得比Netscape更好，于是第一次浏览器血腥大战爆发了，结果是Netscape以失败退出历史舞台，微软更加嗨皮。但没想到Netscape居然以Mozilla的名义重生了，并且开发了Gecko，这次它自称为“Mozilla/5.0(Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826”。&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;Gecko是一款渲染引擎并且很出色。Mozilla后来变成了Firefox，并自称“Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.7.5) Gecko/20041108 Firefox/1.0”。Firefox性能很出色，Gecko也开始攻城略地，其他新的浏览器使用了它的代码，并且将它们自己称为“Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.2) Gecko/20040825 Camino/0.8.1”，以及“Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.8) Gecko/20071008 SeaMonkey/1.0”，每一个都将自己装作Mozilla，而它们全都使用Gecko。&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;Gecko很出色，而IE完全跟不上它，因此user agent探测规则变了，使用Gecko的浏览器被发送了更好的代码，而其他浏览器则没有这种待遇。Linux的追随者对此很难过，因为他们编写了Konqueror，它的引擎是KHTML，他们认为KHTML和Gecko一样出色，但却因为不是Gecko而得不到好的页面，于是Konqueror为得到更好的页面开始将自己伪装成“like Gecko”，并自称为“Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD) (KHTML, like Gecko)”。自此user agent变得更加混乱。&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;这时更有Opera跳出来说“毫无疑问，我们应该让用户来决定他们想让我们伪装成哪个浏览器。”于是Opera干脆创建了菜单项让用户自主选择让Opera浏览器变成“Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.51”，或者“Mozilla/5.0 (Windows NT 6.0; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.51”， 或者“Opera/9.51 (Windows NT 5.1; U; en)”。&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;后来苹果开发了Safari浏览器，并使用KHTML作为渲染引擎，但苹果加入了许多新的特性，于是苹果从KHTML另辟分支称之为WebKit，但它又不想抛弃那些为KHTML编写的页面，于是Safari自称为“Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.5”，这进一步加剧了user agent的混乱局面。&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;因为微软十分忌惮Firefox，于是IE重装上阵，这次它自称为“Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) ”，并且渲染效果同样出色，但是需要网站管理员的指令它这么做才行。&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;再后来，谷歌开发了Chrome浏览器，Chrome使用Webkit作为渲染引擎，和Safari之前一样，它想要那些为Safari编写的页面，于是它伪装成了Safari。于是Chrome使用WebKit，并将自己伪装成Safari，WebKit伪装成KHTML，KHTML伪装成Gecko，最后所有的浏览器都伪装成了Mozilla，这就是为什么所有的浏览器User-Agent里都有Mozilla。Chrome自称为“Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13”。&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;因为以上这段历史，现在的User-Agent字符串变得一团糟，几乎根本无法彰显它最初的意义。追根溯源，微软可以说是这一切的始作俑者，但后来每一个人都在试图假扮别人，最终把User-Agent搞得混乱不堪。&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;一句话结论：因为网站开发者可能会因为你是某浏览器（这里是 Mozilla），所以输出一些特殊功能的程序代码（这里指好的特殊功能），所以当其它浏览器也支持这种好功能时，就试图去模仿 Mozilla 浏览器让网站输出跟 Mozilla 一样的内容，而不是输出被阉割功能的程序代码。大家都为了让网站输出最好的内容，都试图假装自己是 Mozilla 一个已经不存在的浏览器……&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;附各大浏览器诞生年表：&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;1993年1月23日：Mosaic&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;1994年12月：Netscape&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;1994年：Opera&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;1995年8月16日：Internet Explorer&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;1996年10月14日：Kongqueror&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;2003年1月7日：Safari&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;2008年9月2日：Chrome&lt;/span&gt;&lt;br style=&quot;content: &amp;quot;&amp;quot;; display: block; width: 705px; height: 0px; margin: 20px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Lantinghei SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, arial, 宋体, sans-serif, tahoma; font-size: 16px; background-color: #FFFFFF;&quot;&gt;注：本文转自简明现代魔法。&lt;/span&gt;&lt;/p&gt;</description><pubDate>Fri, 05 Nov 2021 23:06:52 +0800</pubDate></item><item><title>古人讲话都有内涵</title><link>http://www.xueyue8.cn/zblog/?id=15</link><description>&lt;p&gt;古人讲话都有内涵&lt;/p&gt;&lt;p&gt;穷，&lt;/p&gt;&lt;p&gt;古人说一身清贫怎敢入繁华，两袖清风怎敢负佳人。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;早安，&lt;/p&gt;&lt;p&gt;古文说，晨辉晓露，蔚然醒来，虽未同起，但求同心。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;晚安，&lt;/p&gt;&lt;p&gt;古人说，山河已暮时已请安，虽不同枕，但求同梦。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;我单身我骄傲，&lt;/p&gt;&lt;p&gt;古文说我自飘零，我自狂，犹如云鹤游四方。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;一见如故，&lt;/p&gt;&lt;p&gt;古文说，与君初相识，犹如故人归天涯，明月新朝暮最相思。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;说话要谨慎，&lt;/p&gt;&lt;p&gt;古人说良言一句三冬暖，恶语伤人六月寒。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;想当年随便摆个姿势，就能迷倒万千少女，&lt;/p&gt;&lt;p&gt;古文说当时年少春衫薄，骑马倚斜桥，满楼红袖招。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;今天很高兴，就想大醉一场&lt;/p&gt;&lt;p&gt;古文说，一生大笑能几回，斗酒相逢须醉倒。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;大家直接拿瓶干，不能养鱼，不能赖&lt;/p&gt;&lt;p&gt;古文说，莫思身外无穷事，且尽身前。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;有钱就是任性&lt;span style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;家有千金，行止由心&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;我想和你在一起&lt;/p&gt;&lt;p&gt;闲时与你立黄昏，灶前笑问粥可温&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;我们分手吧&lt;/p&gt;&lt;p&gt;我与春风皆过客，你携秋水揽星河&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;以前听不懂，现在不想懂&lt;/p&gt;&lt;p&gt;古人说&lt;/p&gt;&lt;p&gt;初闻不知曲中意，再听已是曲中人&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&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;p&gt;你这么牛逼咋不上天呢&lt;/p&gt;&lt;p&gt;阁下何不同风起&lt;/p&gt;&lt;p&gt;扶摇直上九万里&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;你这么厉害你家里人知道吗？&lt;/p&gt;&lt;p&gt;腰中雄剑长三尺&lt;/p&gt;&lt;p&gt;君家阁下知不知&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;每天晚上都被自己帅得睡不着&lt;/p&gt;&lt;p&gt;玉树临风美少年&lt;/p&gt;&lt;p&gt;揽镜自顾夜不眠&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;A4腰&lt;span style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;一纸束楚腰&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;重要的事说三遍&lt;span style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;一眼难尽意，三令做五申&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;我心好累&lt;span style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;形若槁骸，心如死灰&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;也是醉了&lt;span style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;行迈靡靡，中心如醉&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;秀恩爱，死得快&lt;span style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;爱而不藏，自取灭亡&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;我喜欢的的人，不喜欢我&lt;span style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;我心向山，君心向水&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;主要看气质&lt;span style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;请君莫羡解语花，腹有诗书气自华&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;求心理阴影面积&lt;span style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;心如死灰，灰厚几何&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;我的内心几乎是崩溃的&lt;span style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;方寸淆（xiao2）乱，灵台崩催&lt;/p&gt;&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;p&gt;人情是纸张张薄，事事如棋局局新。贫在闹市无人问，富在深山有远亲。&lt;/p&gt;&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;p&gt;门前放根讨饭棍，亲戚故友不上门。世上结交须黄金，黄金不多交不深。&lt;/p&gt;&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;p&gt;胜者为王败者寇，只重衣冠不重人。三贫三富不到老，十年兴败多少人。&lt;/p&gt;&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;p&gt;近水楼台先得月，向阳花木易逢春。谁人背后无人说，谁人背后不说人。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Tue, 21 Sep 2021 10:23:45 +0800</pubDate></item><item><title>带时间戳Ping</title><link>http://www.xueyue8.cn/zblog/?id=14</link><description>&lt;p&gt;ping.exe -t 192.168.1.1 |Foreach{&amp;quot;{0} - {1}&amp;quot; -f (Get-Date),$_} &amp;gt; out.txt&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;需要用PowerShell&lt;/p&gt;</description><pubDate>Tue, 20 Apr 2021 18:24:02 +0800</pubDate></item><item><title>nc</title><link>http://www.xueyue8.cn/zblog/?id=13</link><description>&lt;p&gt;测试udp端口是否通&lt;/p&gt;&lt;p&gt;nc -vunc 221.193.231.231 4500&lt;/p&gt;&lt;p&gt;nc -vunc 110.249.218.199 4500&lt;/p&gt;&lt;p&gt;nc -vunc 124.239.208.231 4500&lt;/p&gt;&lt;p style=&quot;line-height: 16px;&quot;&gt;&lt;img style=&quot;vertical-align: middle; margin-right: 2px;&quot; src=&quot;http://www.xueyue8.cn/zblog/zb_system/image/filetype/zip.png&quot;/&gt;&lt;a style=&quot;font-size:12px; color:#0066cc;&quot; href=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2021/01/202101071610009553407450.zip&quot; title=&quot;network.zip&quot;&gt;network.zip&lt;/a&gt;&lt;/p&gt;&lt;p&gt;https://eternallybored.org/misc/netcat/&lt;/p&gt;</description><pubDate>Thu, 07 Jan 2021 16:50:38 +0800</pubDate></item><item><title>肝了三天，万字长文教你玩转 tcpdump，从此抓包不用愁</title><link>http://www.xueyue8.cn/zblog/?id=11</link><description>&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;来自公众号：Python编程时光&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;链接：http://python.iswbm.com/en/latest/c10/c10_04.html&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;今天要给大家介绍的一个 Unix 下的一个&amp;nbsp;&lt;strong&gt;网络数据采集分析工具&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;--&lt;/strong&gt;&lt;strong&gt;&amp;nbsp;Tcpdump&lt;/strong&gt;，也就是我们常说的抓包工具。&lt;/p&gt;&lt;p&gt;与它功能类似的工具有 wireshark ，不同的是，wireshark 有图形化界面，而 tcpdump 则只有命令行。&lt;/p&gt;&lt;p&gt;由于我本人更习惯使用命令行的方式进行抓包，因此今天先跳过 wireshark，直接给大家介绍这个 tcpdump 神器。&lt;/p&gt;&lt;p&gt;这篇文章，我肝了好几天，借助于Linux 的 man 帮助命令，我把 tcpdump 的用法全部研究了个遍，才形成了本文。&lt;/p&gt;&lt;p&gt;不夸张的说，应该可以算是中文里把 tcpdump 讲得最清楚明白，并且最全的文章了（至少我从百度、谷歌的情况来看是这样），所以&lt;strong&gt;本文值得你收藏分享，就怕你错过了，就再也找不到像这样把 tcpdump 讲得直白而且特全的文章了&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;在讲解之前，有两点需要声明：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;第三节到第六节里的 tcpdump 命令示例，只为了说明参数的使用，并不一定就能抓到包，如果要精准抓到你所需要的包，需要配合第五节的逻辑逻辑运算符进行组合搭配。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;不同 Linux 发行版下、不同版本的 tcpdump 可能有小许差异， 本文是基于 CentOS 7.2 的 4.5.1 版本的tcpdump 进行学习的，若在你的环境中无法使用，请参考&amp;nbsp;&lt;code&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;man tcpdump&lt;/span&gt;&lt;/code&gt;&amp;nbsp;进行针对性学习。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;1. tcpdump 核心参数图解&lt;/h2&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;大家都知道，网络上的流量、数据包，非常的多，因此要想抓到我们所需要的数据包，就需要我们定义一个精准的过滤器，把这些目标数据包，从巨大的数据包网络中抓取出来。&lt;/p&gt;&lt;p&gt;所以学习抓包工具，其实就是学习如何定义过滤器的过程。&lt;/p&gt;&lt;p&gt;而在 tcpdump 的世界里，过滤器的实现，都是通过一个又一个的参数组合起来，一个参数不够精准，那就再加一个，直到我们能过滤掉无用的数据包，只留下我们感兴趣的数据包。&lt;/p&gt;&lt;p&gt;tcpdump 的参数非常的多，初学者在没有掌握 tcpdump 时，会对这个命令的众多参数产生很多的疑惑。&lt;/p&gt;&lt;p&gt;就比如下面这个命令，我们要通过&amp;nbsp;&lt;code&gt;host&lt;/code&gt;&amp;nbsp;参数指定 host ip 进行过滤&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;host&amp;nbsp;192.168.10.100&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;主程序&lt;/code&gt;&amp;nbsp;+&amp;nbsp;&lt;code&gt;参数名&lt;/code&gt;+&amp;nbsp;&lt;code&gt;参数值&lt;/code&gt;&amp;nbsp;&amp;nbsp;这样的组合才是我们正常认知里面命令行该有的样子。&lt;/p&gt;&lt;p&gt;可 tcpdump 却不走寻常路，我们居然还可以在 host 前再加一个限定词，来缩小过滤的范围？&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;src&amp;nbsp;host&amp;nbsp;192.168.10.100&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;从字面上理解，确实很容易理解，但是这不符合编写命令行程序的正常逻辑，导致我们会有所疑虑：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;除了 src ，dst，可还有其它可以用的限定词？&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;src，host 应该如何理解它们，叫参数名？不合适，因为 src 明显不合适。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;如果你在网上看到有关 tcpdump 的博客、教程，无一不是给你一个参数组合，告诉你这是实现了怎样的一个过滤器？这样的教学方式，很容易让你依赖别人的文章来使用 tcpdump，而不能将 tcpdump 这样神器消化，达到灵活应用，灵活搭配过滤器的效果。&lt;/p&gt;&lt;p&gt;上面加了 src 本身就颠覆了我们的认知，你可知道在 src 之前还可以加更多的条件，比如 tcp, udp, icmp 等词，在你之前的基础上再过滤一层。&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;tcp&amp;nbsp;src&amp;nbsp;host&amp;nbsp;192.168.10.100&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这种参数的不确定性，让大多数人对 tcpdump 的学习始终无法得其精髓。&lt;/p&gt;&lt;p&gt;因此，在学习 tcpdump 之前，我觉得有必要要先让你知道：&lt;strong&gt;tcpdump 的参数是如何组成的？这非常重要。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;为此，我画了一张图，方便你直观的理解 tcpdump 的各种参数：&lt;/p&gt;&lt;figure&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/07/20200701150450159358709058537.png&quot;/&gt;&lt;/figure&gt;&lt;figure&gt;&lt;br/&gt;&lt;/figure&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;option 可选参数：将在后边一一解释，对应本文&amp;nbsp;&lt;strong&gt;第四节：可选参数解析&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;proto 类过滤器：根据协议进行过滤，可识别的关键词有：upd, udp, icmp, ip, ip6, arp, rarp,ether,wlan, fddi, tr, decnet&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;type 类过滤器：可识别的关键词有：host, net, port, portrange，这些词后边需要再接参数。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;direction 类过滤器：根据数据流向进行过滤，可识别的关键字有：src, dst，同时你可以使用逻辑运算符进行组合，比如 src or dst&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;proto、type、direction 这三类过滤器的内容比较简单，也最常用，因此我将其放在最前面，也就是&amp;nbsp;&lt;strong&gt;第三节：常规过滤规则&lt;/strong&gt;一起介绍。&lt;/p&gt;&lt;p&gt;而 option 可选的参数非常多，有的甚至也不经常用到，因此我将其放到后面一点，也就是&amp;nbsp;&lt;strong&gt;第四节：可选参数解析&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;当你看完前面六节，你对 tcpdump 的认识会上了一个台阶，至少能够满足你 80% 的使用需求。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;你一定会问了，还有 20% 呢？&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;其实 tcpdump 还有一些过滤关键词，它不符合以上四种过滤规则，可能需要你单独记忆。关于这部分我会在&amp;nbsp;&amp;nbsp;&lt;strong&gt;第六节：特殊过滤规则&lt;/strong&gt;&amp;nbsp; 里进行介绍。&lt;/p&gt;&lt;h2&gt;2. 理解 tcpdump 的输出&lt;/h2&gt;&lt;h3&gt;2.1 输出内容结构&lt;/h3&gt;&lt;p&gt;tcpdump 输出的内容虽然多，却很规律。&lt;/p&gt;&lt;p&gt;这里以我随便抓取的一个 tcp 包为例来看一下&lt;/p&gt;&lt;pre&gt;&lt;code&gt;21:26:49.013621&amp;nbsp;IP&amp;nbsp;172.20.20.1.15605&amp;nbsp;&amp;gt;&amp;nbsp;172.20.20.2.5920:&amp;nbsp;Flags&amp;nbsp;[P.],&amp;nbsp;seq&amp;nbsp;49:97,&amp;nbsp;ack&amp;nbsp;106048,&amp;nbsp;win&amp;nbsp;4723,&amp;nbsp;length&amp;nbsp;48&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;从上面的输出来看，可以总结出：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;第一列：时分秒毫秒 21:26:49.013621&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;第二列：网络协议 IP&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;第三列：发送方的ip地址+端口号，其中172.20.20.1是 ip，而15605 是端口号&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;第四列：箭头 &amp;gt;， 表示数据流向&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;第五列：接收方的ip地址+端口号，其中 172.20.20.2 是 ip，而5920 是端口号&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;第六列：冒号&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;第七列：数据包内容，包括Flags 标识符，seq 号，ack 号，win 窗口，数据长度 length，其中 [P.] 表示 PUSH 标志位为 1，更多标识符见下面&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;2.2 Flags 标识符&lt;/h3&gt;&lt;p&gt;使用 tcpdump 抓包后，会遇到的 TCP 报文 Flags，有以下几种：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;[S]&lt;/code&gt;&amp;nbsp;: SYN（开始连接）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;[P]&lt;/code&gt;&amp;nbsp;: PSH（推送数据）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;[F]&lt;/code&gt;&amp;nbsp;: FIN （结束连接）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;[R]&lt;/code&gt;&amp;nbsp;: RST（重置连接）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;[.]&lt;/code&gt;&amp;nbsp;: 没有 Flag，由于除了 SYN 包外所有的数据包都有ACK，所以一般这个标志也可表示 ACK&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;3. 常规过滤规则&lt;/h2&gt;&lt;h3&gt;3.1 基于IP地址过滤：host&lt;/h3&gt;&lt;p&gt;使用&amp;nbsp;&lt;code&gt;host&lt;/code&gt;&amp;nbsp;就可以指定 host ip 进行过滤&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;host&amp;nbsp;192.168.10.100&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;数据包的 ip 可以再细分为源ip和目标ip两种&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;根据源ip进行过滤&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;-i&amp;nbsp;eth2&amp;nbsp;src&amp;nbsp;192.168.10.100&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&lt;br/&gt;#&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;根据目标ip进行过滤&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;-i&amp;nbsp;eth2&amp;nbsp;dst&amp;nbsp;192.168.10.200&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;3.2 基于网段进行过滤：net&lt;/h3&gt;&lt;p&gt;若你的ip范围是一个网段，可以直接这样指定&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;net&amp;nbsp;192.168.10.0/24&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;网段同样可以再细分为源网段和目标网段&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;根据源网段进行过滤&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;src&amp;nbsp;net&amp;nbsp;192.168&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&lt;br/&gt;#&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;根据目标网段进行过滤&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;dst&amp;nbsp;net&amp;nbsp;192.168&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;3.3 基于端口进行过滤：port&lt;/h3&gt;&lt;p&gt;使用&amp;nbsp;&lt;code&gt;port&lt;/code&gt;&amp;nbsp;就可以指定特定端口进行过滤&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;port&amp;nbsp;8088&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;端口同样可以再细分为源端口，目标端口&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;根据源端口进行过滤&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;src&amp;nbsp;port&amp;nbsp;8088&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&lt;br/&gt;#&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;根据目标端口进行过滤&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;dst&amp;nbsp;port&amp;nbsp;8088&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果你想要同时指定两个端口你可以这样写&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;port&amp;nbsp;80&amp;nbsp;or&amp;nbsp;port&amp;nbsp;8088&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;但也可以简写成这样&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;port&amp;nbsp;80&amp;nbsp;or&amp;nbsp;8088&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果你的想抓取的不再是一两个端口，而是一个范围，一个一个指定就非常麻烦了，此时你可以这样指定一个端口段。&lt;br/&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;portrange&amp;nbsp;8000-8080&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;src&amp;nbsp;portrange&amp;nbsp;8000-8080&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;dst&amp;nbsp;portrange&amp;nbsp;8000-8080&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;对于一些常见协议的默认端口，我们还可以直接使用协议名，而不用具体的端口号&lt;br/&gt;&lt;/p&gt;&lt;p&gt;比如 http &amp;nbsp;== 80，https == 443 等&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;tcp&amp;nbsp;port&amp;nbsp;http&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;3.4 基于协议进行过滤：proto&lt;/h3&gt;&lt;p&gt;常见的网络协议有：tcp, udp, icmp, http, ip,ipv6 等&lt;/p&gt;&lt;p&gt;若你只想查看 icmp 的包，可以直接这样写&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;icmp&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;protocol 可选值：ip, ip6, arp, rarp, atalk, aarp, decnet, sca, lat, mopdl, &amp;nbsp;moprc, &amp;nbsp;iso, &amp;nbsp;stp, ipx, &amp;nbsp;or &amp;nbsp;netbeui&lt;/p&gt;&lt;h3&gt;3.5 基本IP协议的版本进行过滤&lt;/h3&gt;&lt;p&gt;当你想查看 tcp 的包，你也许会这样子写&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;tcp&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这样子写也没问题，就是不够精准，为什么这么说呢？&lt;/p&gt;&lt;p&gt;ip 根据版本的不同，可以再细分为 IPv4 和 IPv6 两种，如果你只指定了 tcp，这两种其实都会包含在内。&lt;/p&gt;&lt;p&gt;那有什么办法，能够将 IPv4 和 IPv6 区分开来呢？&lt;/p&gt;&lt;p&gt;很简单，如果是 IPv4 的 tcp 包 ，就这样写（友情提示：数字 6 表示的是 tcp 在ip报文中的编号。）&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;ip&amp;nbsp;proto&amp;nbsp;tcp&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&lt;br/&gt;#&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;or&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&lt;br/&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;ip&amp;nbsp;proto&amp;nbsp;6&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&lt;br/&gt;#&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;or&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&lt;br/&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;ip&amp;nbsp;protochain&amp;nbsp;tcp&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&lt;br/&gt;#&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;or&amp;nbsp;&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;ip&amp;nbsp;protochain&amp;nbsp;6&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;而如果是 IPv6 的 tcp 包 ，就这样写&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;ip6&amp;nbsp;proto&amp;nbsp;tcp&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&lt;br/&gt;#&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;or&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&lt;br/&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;ip6&amp;nbsp;proto&amp;nbsp;6&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&lt;br/&gt;#&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;or&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&lt;br/&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;ip6&amp;nbsp;protochain&amp;nbsp;tcp&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&lt;br/&gt;#&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;or&amp;nbsp;&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;ip6&amp;nbsp;protochain&amp;nbsp;6&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;关于上面这几个命令示例，有两点需要注意：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;跟在 proto 和 protochain 后面的如果是 tcp, udp, icmp ，那么过滤器需要用引号包含，这是因为 tcp,udp, icmp 是 tcpdump 的关键字。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;跟在ip 和 ip6 关键字后面的 proto 和 protochain 是两个新面孔，看起来用法类似，它们是否等价，又有什么区别呢？&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;关于第二点，网络上没有找到很具体的答案，我只能通过&amp;nbsp;&lt;code&gt;man tcpdump&lt;/code&gt;&amp;nbsp;的提示， 给出自己的个人猜测，但不保证正确。&lt;/p&gt;&lt;p&gt;proto 后面跟的&amp;nbsp;&lt;code&gt;&amp;lt;protocol&amp;gt;&lt;/code&gt;&amp;nbsp;的关键词是固定的，只能是 ip, ip6, arp, rarp, atalk, aarp, decnet, sca, lat, mopdl, &amp;nbsp;moprc, &amp;nbsp;iso, &amp;nbsp;stp, ipx, &amp;nbsp;or &amp;nbsp;netbeui 这里面的其中一个。&lt;/p&gt;&lt;p&gt;而 protochain 后面跟的 protocol 要求就没有那么严格，它可以是任意词，只要 tcpdump 的 IP 报文头部里的 protocol 字段为&amp;nbsp;&lt;code&gt;&amp;lt;protocol&amp;gt;&lt;/code&gt;&amp;nbsp;就能匹配上。&lt;/p&gt;&lt;p&gt;理论上来讲，下面两种写法效果是一样的&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;ip&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;tcp&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;ip&amp;nbsp;proto&amp;nbsp;tcp&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;同样的，这两种写法也是一样的&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;ip6&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;tcp&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;ip6&amp;nbsp;proto&amp;nbsp;tcp&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;4. 可选参数解析&lt;/h2&gt;&lt;h3&gt;4.1 设置不解析域名提升速度&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-n&lt;/code&gt;：不把ip转化成域名，直接显示 &amp;nbsp;ip，避免执行 DNS lookups 的过程，速度会快很多&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-nn&lt;/code&gt;：不把协议和端口号转化成名字，速度也会快很多。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-N&lt;/code&gt;：不打印出host 的域名部分.。比如,，如果设置了此选现，tcpdump 将会打印&amp;#39;nic&amp;#39; 而不是 &amp;#39;nic.ddn.mil&amp;#39;.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;4.2 过滤结果输出到文件&lt;/h3&gt;&lt;p&gt;使用 tcpdump 工具抓到包后，往往需要再借助其他的工具进行分析，比如常见的 wireshark 。&lt;/p&gt;&lt;p&gt;而要使用wireshark ，我们得将 tcpdump 抓到的包数据生成到文件中，最后再使用 wireshark 打开它即可。&lt;/p&gt;&lt;p&gt;使用&amp;nbsp;&lt;code&gt;-w&lt;/code&gt;&amp;nbsp;参数后接一个以&amp;nbsp;&lt;code&gt;.pcap&lt;/code&gt;&amp;nbsp;后缀命令的文件名，就可以将 tcpdump 抓到的数据保存到文件中。&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;icmp&amp;nbsp;-w&amp;nbsp;icmp.pcap&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;4.3 从文件中读取包数据&lt;/h3&gt;&lt;p&gt;使用&amp;nbsp;&lt;code&gt;-w&lt;/code&gt;&amp;nbsp;是写入数据到文件，而使用&amp;nbsp;&lt;code&gt;-r&lt;/code&gt;&amp;nbsp;是从文件中读取数据。&lt;/p&gt;&lt;p&gt;读取后，我们照样可以使用上述的过滤器语法进行过滤分析。&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;icmp&amp;nbsp;-r&amp;nbsp;all.pcap&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;4.4 控制详细内容的输出&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-v&lt;/code&gt;：产生详细的输出. 比如包的TTL，id标识，数据包长度，以及IP包的一些选项。同时它还会打开一些附加的包完整性检测，比如对IP或ICMP包头部的校验和。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-vv&lt;/code&gt;：产生比-v更详细的输出. 比如NFS回应包中的附加域将会被打印, SMB数据包也会被完全解码。（摘自网络，目前我还未使用过）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-vvv&lt;/code&gt;：产生比-vv更详细的输出。比如 telent 时所使用的SB, SE 选项将会被打印, 如果telnet同时使用的是图形界面，其相应的图形选项将会以16进制的方式打印出来（摘自网络，目前我还未使用过）&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;4.5 控制时间的显示&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-t&lt;/code&gt;：在每行的输出中不输出时间&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-tt&lt;/code&gt;：在每行的输出中会输出时间戳&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-ttt&lt;/code&gt;：输出每两行打印的时间间隔(以毫秒为单位)&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-tttt&lt;/code&gt;：在每行打印的时间戳之前添加日期的打印（此种选项，输出的时间最直观）&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;4.6 显示数据包的头部&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-x&lt;/code&gt;：以16进制的形式打印每个包的头部数据（但不包括数据链路层的头部）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-xx&lt;/code&gt;：以16进制的形式打印每个包的头部数据（包括数据链路层的头部）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-X&lt;/code&gt;：以16进制和 ASCII码形式打印出每个包的数据(但不包括连接层的头部)，这在分析一些新协议的数据包很方便。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-XX&lt;/code&gt;：以16进制和 ASCII码形式打印出每个包的数据(包括连接层的头部)，这在分析一些新协议的数据包很方便。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;4.7 过滤指定网卡的数据包&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-i&lt;/code&gt;：指定要过滤的网卡接口，如果要查看所有网卡，可以&amp;nbsp;&lt;code&gt;-i any&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;4.8 过滤特定流向的数据包&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-Q&lt;/code&gt;：选择是入方向还是出方向的数据包，可选项有：in, out, inout，也可以使用 &amp;nbsp;--direction=[direction] 这种写法&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;4.9 其他常用的一些参数&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-A&lt;/code&gt;：以ASCII码方式显示每一个数据包(不显示链路层头部信息). 在抓取包含网页数据的数据包时, 可方便查看数据&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-l&lt;/code&gt;&amp;nbsp;: 基于行的输出，便于你保存查看，或者交给其它工具分析&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-q&lt;/code&gt;&amp;nbsp;: 简洁地打印输出。即打印很少的协议相关信息, 从而输出行都比较简短.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-c&lt;/code&gt;&amp;nbsp;: 捕获 count 个包 tcpdump 就退出&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-s&lt;/code&gt;&amp;nbsp;: &amp;nbsp;tcpdump 默认只会截取前&amp;nbsp;&lt;code&gt;96&lt;/code&gt;&amp;nbsp;字节的内容，要想截取所有的报文内容，可以使用&amp;nbsp;&lt;code&gt;-s number&lt;/code&gt;，&amp;nbsp;&lt;code&gt;number&lt;/code&gt;&amp;nbsp;就是你要截取的报文字节数，如果是 0 的话，表示截取报文全部内容。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-S&lt;/code&gt;&amp;nbsp;: 使用绝对序列号，而不是相对序列号&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-C&lt;/code&gt;：file-size，tcpdump 在把原始数据包直接保存到文件中之前, 检查此文件大小是否超过file-size. 如果超过了, 将关闭此文件,另创一个文件继续用于原始数据包的记录. 新创建的文件名与-w 选项指定的文件名一致, 但文件名后多了一个数字.该数字会从1开始随着新创建文件的增多而增加. file-size的单位是百万字节(nt: 这里指1,000,000个字节,并非1,048,576个字节, 后者是以1024字节为1k, 1024k字节为1M计算所得, 即1M=1024 ＊ 1024 ＝ 1,048,576)&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-F&lt;/code&gt;：使用file 文件作为过滤条件表达式的输入, 此时命令行上的输入将被忽略.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;4.10 对输出内容进行控制的参数&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-D&lt;/code&gt;&amp;nbsp;: 显示所有可用网络接口的列表&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-e&lt;/code&gt;&amp;nbsp;: 每行的打印输出中将包括数据包的数据链路层头部信息&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-E&lt;/code&gt;&amp;nbsp;: 揭秘IPSEC数据&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-L&lt;/code&gt;&amp;nbsp;：列出指定网络接口所支持的数据链路层的类型后退出&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-Z&lt;/code&gt;：后接用户名，在抓包时会受到权限的限制。如果以root用户启动tcpdump，tcpdump将会有超级用户权限。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-d&lt;/code&gt;：打印出易读的包匹配码&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-dd&lt;/code&gt;：以C语言的形式打印出包匹配码.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;-ddd&lt;/code&gt;：以十进制数的形式打印出包匹配码&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;5. 过滤规则组合&lt;/h2&gt;&lt;p&gt;有编程基础的同学，对于下面三个逻辑运算符应该不陌生了吧&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;and：所有的条件都需要满足，也可以表示为 &amp;amp;&amp;amp;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;or：只要有一个条件满足就可以，也可以表示为&amp;nbsp;&lt;code&gt;||&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;not：取反，也可以使用&amp;nbsp;&lt;code&gt;!&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;举个例子，我想需要抓一个来自&lt;code&gt;10.5.2.3&lt;/code&gt;，发往任意主机的3389端口的包&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;src&amp;nbsp;10.5.2.3&amp;nbsp;and&amp;nbsp;dst&amp;nbsp;port&amp;nbsp;3389&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;当你在使用多个过滤器进行组合时，有可能需要用到括号，而括号在 shell 中是特殊符号，因为你需要使用引号将其包含。例子如下：&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;src&amp;nbsp;10.0.2.4&amp;nbsp;and&amp;nbsp;(dst&amp;nbsp;port&amp;nbsp;3389&amp;nbsp;or&amp;nbsp;22)&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;而在单个过滤器里，常常会判断一条件是否成立，这时候，就要使用下面两个符号&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;=&lt;/code&gt;：判断二者相等&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;==&lt;/code&gt;：判断二者相等&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;!=&lt;/code&gt;：判断二者不相等&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;当你使用这两个符号时，tcpdump 还提供了一些关键字的接口来方便我们进行判断，比如&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;if：表示网卡接口名、&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;proc：表示进程名&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;pid：表示进程 id&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;svc：表示 service class&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;dir：表示方向，in 和 out&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;eproc：表示 effective process name&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;epid：表示 effective process ID&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;比如我现在要过滤来自进程名为&amp;nbsp;&lt;code&gt;nc&lt;/code&gt;&amp;nbsp;发出的流经 en0 网卡的数据包，或者不流经 en0 的入方向数据包，可以这样子写&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;quot;(&amp;nbsp;if=en0&amp;nbsp;and&amp;nbsp;proc&amp;nbsp;=nc&amp;nbsp;)&amp;nbsp;||&amp;nbsp;(if&amp;nbsp;!=&amp;nbsp;en0&amp;nbsp;and&amp;nbsp;dir=in)&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;6. 特殊过滤规则&lt;/h2&gt;&lt;h3&gt;5.1 根据 tcpflags 进行过滤&lt;/h3&gt;&lt;p&gt;通过&lt;a&gt;上一篇文章&lt;/a&gt;，我们知道了 tcp 的首部有一个标志位。&lt;/p&gt;&lt;figure&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/07/20200701150450159358709099641.png&quot;/&gt;&lt;figcaption&gt;TCP 报文首部&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;tcpdump 支持我们根据数据包的标志位进行过滤&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FFFFAA;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;proto&lt;/span&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;[&amp;nbsp;expr:size&amp;nbsp;]&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;proto&lt;/code&gt;：可以是熟知的协议之一（如ip，arp，tcp，udp，icmp，ipv6）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;expr&lt;/code&gt;：可以是数值，也可以是一个表达式，表示与指定的协议头开始处的字节偏移量。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;size&lt;/code&gt;：是可选的，表示从字节偏移量开始取的字节数量。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;接下来，我将举几个例子，让人明白它的写法，不过在那之前，有几个点需要你明白，这在后面的例子中会用到：&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1、&lt;/strong&gt;tcpflags 可以理解为是一个别名常量，相当于 13，它代表着与指定的协议头开头相关的字节偏移量，也就是标志位，所以 tcp[tcpflags] 等价于 tcp[13] ，对应下图中的报文位置。&lt;/p&gt;&lt;figure&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/07/20200701150450159358709084924.png&quot;/&gt;&lt;/figure&gt;&lt;p&gt;&lt;strong&gt;2、&lt;/strong&gt;tcp-fin, tcp-syn, tcp-rst, tcp-push, tcp-ack, tcp-urg 这些同样可以理解为别名常量，分别代表 1，2，4，8，16，32，64。这些数字是如何计算出来的呢？&lt;/p&gt;&lt;p&gt;以 tcp-syn 为例，你可以参照下面这张图，计算出来的值 是就是 2&lt;/p&gt;&lt;figure&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/07/20200701150450159358709063347.png&quot;/&gt;&lt;/figure&gt;&lt;p&gt;由于数字不好记忆，所以一般使用这样的“别名常量”表示。&lt;/p&gt;&lt;p&gt;因此当下面这个表达式成立时，就代表这个包是一个 syn 包。&lt;/p&gt;&lt;pre&gt;&lt;code&gt;tcp[tcpflags]&amp;nbsp;==&amp;nbsp;tcp-syn&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;要抓取特定数据包，方法有很多种。&lt;/p&gt;&lt;p&gt;下面以最常见的 syn包为例，演示一下如何用 tcpdump 抓取到 syn 包，而其他的类型的包也是同样的道理。&lt;/p&gt;&lt;p&gt;据我总结，主要有三种写法：&lt;/p&gt;&lt;p&gt;1、第一种写法：使用数字表示偏移量&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;-i&amp;nbsp;eth0&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;quot;tcp[13]&amp;nbsp;&amp;amp;&amp;nbsp;2&amp;nbsp;!=&amp;nbsp;0&amp;quot;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;2、第二种写法：使用别名常量表示偏移量&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;-i&amp;nbsp;eth0&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;quot;tcp[tcpflags]&amp;nbsp;&amp;amp;&amp;nbsp;tcp-syn&amp;nbsp;!=&amp;nbsp;0&amp;quot;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;3、第三种写法：使用混合写法&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;-i&amp;nbsp;eth0&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;quot;tcp[tcpflags]&amp;nbsp;&amp;amp;&amp;nbsp;2&amp;nbsp;!=&amp;nbsp;0&amp;quot;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&lt;br/&gt;#&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;or&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&lt;br/&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;-i&amp;nbsp;eth0&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;quot;tcp[13]&amp;nbsp;&amp;amp;&amp;nbsp;tcp-syn&amp;nbsp;!=&amp;nbsp;0&amp;quot;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果我想同时捕获多种类型的包呢，比如 syn + ack 包&lt;/p&gt;&lt;p&gt;1、第一种写法&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;-i&amp;nbsp;eth0&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;tcp[13]&amp;nbsp;==&amp;nbsp;2&amp;nbsp;or&amp;nbsp;tcp[13]&amp;nbsp;==&amp;nbsp;16&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;2、第二种写法&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;-i&amp;nbsp;eth0&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;tcp[tcpflags]&amp;nbsp;==&amp;nbsp;tcp-syn&amp;nbsp;or&amp;nbsp;tcp[tcpflags]&amp;nbsp;==&amp;nbsp;tcp-ack&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;3、第三种写法&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;-i&amp;nbsp;eth0&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;quot;tcp[tcpflags]&amp;nbsp;&amp;amp;&amp;nbsp;(tcp-syn|tcp-ack)&amp;nbsp;!=&amp;nbsp;0&amp;quot;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;4、第四种写法：注意这里是 单个等号，而不是像上面一样两个等号，18（syn+ack） = 2（syn） + 16（ack）&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;-i&amp;nbsp;eth0&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;tcp[13]&amp;nbsp;=&amp;nbsp;18&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&lt;br/&gt;#&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;or&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&lt;br/&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;-i&amp;nbsp;eth0&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;tcp[tcpflags]&amp;nbsp;=&amp;nbsp;18&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;tcp 中有 类似 tcp-syn 的别名常量，其他协议也是有的，比如 icmp 协议，可以使用的别名常量有&lt;/p&gt;&lt;pre&gt;&lt;code&gt;icmp-echoreply,&amp;nbsp;icmp-unreach,&amp;nbsp;icmp-sourcequench,&amp;nbsp;&lt;br/&gt;icmp-redirect,&amp;nbsp;icmp-echo,&amp;nbsp;icmp-routeradvert,&lt;br/&gt;icmp-routersolicit,&amp;nbsp;icmp-timx-ceed,&amp;nbsp;icmp-paramprob,&amp;nbsp;&lt;br/&gt;icmp-tstamp,&amp;nbsp;icmp-tstampreply,icmp-ireq,&amp;nbsp;&lt;br/&gt;icmp-ireqreply,&amp;nbsp;icmp-maskreq,&amp;nbsp;icmp-maskreply&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;5.2 &amp;nbsp;基于包大小进行过滤&lt;/h3&gt;&lt;p&gt;若你想查看指定大小的数据包，也是可以的&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;less&amp;nbsp;32&amp;nbsp;&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;greater&amp;nbsp;64&amp;nbsp;&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;&amp;lt;=&amp;nbsp;128&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;5.3 根据 mac 地址进行过滤&lt;/h3&gt;&lt;p&gt;例子如下，其中 ehost 是记录在 /etc/ethers 里的 name&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;ether&amp;nbsp;host&amp;nbsp;[ehost]&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;ether&amp;nbsp;dst&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[ehost]&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;ether&amp;nbsp;src&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[ehost]&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;5.4 过滤通过指定网关的数据包&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;gateway&amp;nbsp;[host]&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;5.5 过滤广播/多播数据包&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;ether&amp;nbsp;broadcast&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;ether&amp;nbsp;multicast&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&lt;br/&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;ip&amp;nbsp;broadcast&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;ip&amp;nbsp;multicast&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&lt;br/&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;ip6&amp;nbsp;multicast&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;7. 如何抓取到更精准的包？&lt;/h2&gt;&lt;p&gt;先给你抛出一个问题：如果我只想抓取 HTTP 的 POST 请求该如何写呢？&lt;/p&gt;&lt;p&gt;如果只学习了上面的内容，恐怕你还是无法写法满足这个抓取需求的过滤器。&lt;/p&gt;&lt;p&gt;在学习之前，我先给出答案，然后再剖析一下，这个过滤器是如何生效的，居然能让我们对包内的内容进行判断。&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;-s&amp;nbsp;0&amp;nbsp;-A&amp;nbsp;-vv&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;tcp[((tcp[12:1]&amp;nbsp;&amp;amp;&amp;nbsp;0xf0)&amp;nbsp;&amp;gt;&amp;gt;&amp;nbsp;2):4]&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;命令里的可选参数，在前面的内容里已经详细讲过了。这里不再细讲。&lt;/p&gt;&lt;p&gt;本节的重点是引号里的内容，看起来很复杂的样子。&lt;/p&gt;&lt;p&gt;将它逐一分解，我们只要先理解了下面几种用法，就能明白&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;tcp[n]&lt;/code&gt;：表示 tcp 报文里 第 n 个字节&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;tcp[n:c]&lt;/code&gt;：表示 tcp 报文里从第n个字节开始取 c 个字节，tcp[12:1] 表示从报文的第12个字节（因为有第0个字节，所以这里的12其实表示的是13）开始算起取一个字节，也就是 8 个bit。查看 tcp 的报文首部结构，可以得知这 8 个bit 其实就是下图中的红框圈起来的位置，而在这里我们只要前面 4个bit，也就是实际数据在整个报文首部中的偏移量。&lt;/p&gt;&lt;figure&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/07/20200701150451159358709147520.png&quot;/&gt;&lt;/figure&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;amp;&lt;/code&gt;：是位运算里的 and 操作符，比如&amp;nbsp;&lt;code&gt;0011 &amp;amp; 0010 = 0010&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;gt;&amp;gt;&lt;/code&gt;：是位运算里的右移操作，比如&amp;nbsp;&lt;code&gt;0111 &amp;gt;&amp;gt; 2 = 0011&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;0xf0&lt;/code&gt;：是 10 进制的 240 的 16 进制表示，但对于位操作来说，10进制和16进制都将毫无意义，我们需要的是二进制，将其转换成二进制后是：11110000，这个数有什么特点呢？前面个 4bit 全部是 1，后面4个bit全部是0，往后看你就知道这个特点有什么用了。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;分解完后，再慢慢合并起来看&lt;/p&gt;&lt;p&gt;1、&lt;code&gt;tcp[12:1] &amp;amp;&amp;nbsp;0xf0&lt;/code&gt;&amp;nbsp;其实并不直观，但是我们将它换一种写法，就好看多了，假设 tcp 报文中的 第12 个字节是这样组成的&amp;nbsp;&lt;code&gt;10110000&lt;/code&gt;，那么这个表达式就可以变成 10110110 &amp;amp;&amp;amp; 11110000 = 10110000，得到了 10110000 后，再进入下一步。&lt;/p&gt;&lt;p&gt;2、&lt;code&gt;tcp[12:1] &amp;amp; 0xf0) &amp;gt;&amp;gt; 2&lt;/code&gt;&amp;nbsp;：如果你不理解 tcp 报文首部里的数据偏移，请先点击这个前往我的&lt;a&gt;上一篇文章&lt;/a&gt;，搞懂数据偏移的意义，否则我保证你这里会绝对会听懵了。&lt;/p&gt;&lt;p&gt;&lt;code&gt;tcp[12:1] &amp;amp; 0xf0) &amp;gt;&amp;gt; 2&lt;/code&gt;&amp;nbsp;这个表达式实际是&amp;nbsp;&lt;code&gt;(tcp[12:1] &amp;amp; 0xf0) &amp;gt;&amp;gt; 4 ) &amp;lt;&amp;lt; 2&lt;/code&gt;&amp;nbsp;的简写形式。所以要搞懂&amp;nbsp;&lt;code&gt;tcp[12:1] &amp;amp; 0xf0) &amp;gt;&amp;gt; 2&lt;/code&gt;&amp;nbsp;只要理解了&lt;code&gt;(tcp[12:1] &amp;amp; 0xf0) &amp;gt;&amp;gt; 4 ) &amp;lt;&amp;lt; 2&lt;/code&gt;&amp;nbsp;&amp;nbsp;就行了 。&lt;/p&gt;&lt;p&gt;从上一步我们算出了&amp;nbsp;&lt;code&gt;tcp[12:1] &amp;amp; 0xf0&lt;/code&gt;&amp;nbsp;&amp;nbsp;的值其实是一个字节，也就是 8 个bit，但是你再回去看下上面的 tcp 报文首部结构图，表示数据偏移量的只有 4个bit，也就是说 上面得到的值 10110000，前面 4 位（1011）才是正确的偏移量，那么为了得到 1011，只需要将 10110000 右移4位即可，也就是&amp;nbsp;&lt;code&gt;tcp[12:1] &amp;amp; 0xf0) &amp;gt;&amp;gt; 4&lt;/code&gt;，至此我们是不是已经得出了实际数据的正确位置呢，很遗憾还没有，前一篇文章里我们讲到 Data Offset 的单位是 4个字节，因为要将 1011 乘以 4才可以，除以4在位运算中相当于左移2位，也就是&amp;nbsp;&lt;code&gt;&amp;lt;&amp;lt;2&lt;/code&gt;，与前面的&amp;nbsp;&lt;code&gt;&amp;gt;&amp;gt;4&lt;/code&gt;&amp;nbsp;结合起来一起算的话，最终的运算可以简化为&amp;nbsp;&lt;code&gt;&amp;gt;&amp;gt;2&lt;/code&gt;&lt;/p&gt;&lt;p&gt;至此，我们终于得出了实际数据开始的位置是&amp;nbsp;&lt;code&gt;tcp[12:1] &amp;amp; 0xf0) &amp;gt;&amp;gt; 2&lt;/code&gt;&amp;nbsp;（单位是字节）。&lt;/p&gt;&lt;p&gt;找到了数据的起点后，可别忘了我们的目的是从数据中打到 HTTP 请求的方法，是 GET 呢 还是 POST ，或者是其他的？&lt;/p&gt;&lt;p&gt;有了上面的经验，我们自然懂得使用&amp;nbsp;&lt;code&gt;tcp[((tcp[12:1] &amp;amp; 0xf0) &amp;gt;&amp;gt; 2):4]&lt;/code&gt;&amp;nbsp;从数据开始的位置再取出四个字节，然后将结果与&amp;nbsp;&lt;code&gt;GET&lt;/code&gt;&amp;nbsp;（注意 GET最后还有个空格）的 16进制写法（也就是&amp;nbsp;&lt;code&gt;0x47455420&lt;/code&gt;）进行比对。&lt;/p&gt;&lt;pre&gt;&lt;code&gt;0x47&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;71&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;&amp;nbsp;&amp;nbsp;G&lt;br/&gt;0x45&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;69&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;&amp;nbsp;&amp;nbsp;E&lt;br/&gt;0x54&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;84&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;&amp;nbsp;&amp;nbsp;T&lt;br/&gt;0x20&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt;&amp;nbsp;&amp;nbsp;空格&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;figure&gt;&lt;br/&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/07/20200701150451159358709199773.png&quot;/&gt;&lt;/figure&gt;&lt;p&gt;如果相等，则该表达式为True，tcpdump 认为这就是我们所需要抓的数据包，将其输出到我们的终端屏幕上。&lt;/p&gt;&lt;h2&gt;8. 抓包实战应用例子&lt;/h2&gt;&lt;h3&gt;以下例子摘自：&lt;em&gt;https://fuckcloudnative.io/posts/tcpdump-examples/&lt;/em&gt;&lt;/h3&gt;&lt;h3&gt;8.1 提取 HTTP 的 User-Agent&lt;/h3&gt;&lt;p&gt;从 HTTP 请求头中提取 HTTP 用户代理：&lt;/p&gt;&lt;pre&gt;&lt;code&gt;$&amp;nbsp;tcpdump&amp;nbsp;-nn&amp;nbsp;-A&amp;nbsp;-s1500&amp;nbsp;-l&amp;nbsp;|&amp;nbsp;grep&amp;nbsp;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;quot;User-Agent:&amp;quot;&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;通过&amp;nbsp;&lt;code&gt;egrep&lt;/code&gt;&amp;nbsp;可以同时提取用户代理和主机名（或其他头文件）：&lt;/p&gt;&lt;pre&gt;&lt;code&gt;$&amp;nbsp;tcpdump&amp;nbsp;-nn&amp;nbsp;-A&amp;nbsp;-s1500&amp;nbsp;-l&amp;nbsp;|&amp;nbsp;egrep&amp;nbsp;-i&amp;nbsp;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;User-Agent:|Host:&amp;#39;&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;8.2 抓取 HTTP GET 和 POST 请求&lt;/h3&gt;&lt;p&gt;抓取 HTTP GET 请求包：&lt;/p&gt;&lt;pre&gt;&lt;code&gt;$&amp;nbsp;tcpdump&amp;nbsp;-s&amp;nbsp;0&amp;nbsp;-A&amp;nbsp;-vv&amp;nbsp;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;tcp[((tcp[12:1]&amp;nbsp;&amp;amp;&amp;nbsp;0xf0)&amp;nbsp;&amp;gt;&amp;gt;&amp;nbsp;2):4]&amp;nbsp;=&amp;nbsp;0x47455420&amp;#39;&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #888888;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;#&amp;nbsp;or&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;$&amp;nbsp;tcpdump&amp;nbsp;-vvAls0&amp;nbsp;|&amp;nbsp;grep&amp;nbsp;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;GET&amp;#39;&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;可以抓取 HTTP POST 请求包：&lt;/p&gt;&lt;pre&gt;&lt;code&gt;$&amp;nbsp;tcpdump&amp;nbsp;-s&amp;nbsp;0&amp;nbsp;-A&amp;nbsp;-vv&amp;nbsp;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;tcp[((tcp[12:1]&amp;nbsp;&amp;amp;&amp;nbsp;0xf0)&amp;nbsp;&amp;gt;&amp;gt;&amp;nbsp;2):4]&amp;nbsp;=&amp;nbsp;0x504f5354&amp;#39;&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #888888;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;#&amp;nbsp;or&amp;nbsp;&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;$&amp;nbsp;tcpdump&amp;nbsp;-vvAls0&amp;nbsp;|&amp;nbsp;grep&amp;nbsp;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;POST&amp;#39;&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;注意：该方法不能保证抓取到 HTTP POST 有效数据流量，因为一个 POST 请求会被分割为多个 TCP 数据包。&lt;/p&gt;&lt;h3&gt;8.3 找出发包数最多的 IP&lt;/h3&gt;&lt;p&gt;找出一段时间内发包最多的 IP，或者从一堆报文中找出发包最多的 IP，可以使用下面的命令：&lt;/p&gt;&lt;pre&gt;&lt;code&gt;$&amp;nbsp;tcpdump&amp;nbsp;-nnn&amp;nbsp;-t&amp;nbsp;-c&amp;nbsp;200&amp;nbsp;|&amp;nbsp;cut&amp;nbsp;-f&amp;nbsp;1,2,3,4&amp;nbsp;-d&amp;nbsp;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;.&amp;#39;&lt;/span&gt;&amp;nbsp;|&amp;nbsp;sort&amp;nbsp;|&amp;nbsp;uniq&amp;nbsp;-c&amp;nbsp;|&amp;nbsp;sort&amp;nbsp;-nr&amp;nbsp;|&amp;nbsp;head&amp;nbsp;-n&amp;nbsp;20&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;cut -f 1,2,3,4 -d &amp;#39;.&amp;#39;&lt;/strong&gt;&amp;nbsp;: 以&amp;nbsp;&lt;code&gt;.&lt;/code&gt;&amp;nbsp;为分隔符，打印出每行的前四列。即 IP 地址。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;sort | uniq -c&lt;/strong&gt;&amp;nbsp;: 排序并计数&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;sort -nr&lt;/strong&gt;&amp;nbsp;: 按照数值大小逆向排序&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;8.4 抓取 DNS 请求和响应&lt;/h3&gt;&lt;p&gt;DNS 的默认端口是 53，因此可以通过端口进行过滤&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;-i&amp;nbsp;any&amp;nbsp;-s0&amp;nbsp;port&amp;nbsp;53&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;8.5 切割 pcap 文件&lt;/h3&gt;&lt;p&gt;当抓取大量数据并写入文件时，可以自动切割为多个大小相同的文件。例如，下面的命令表示每 3600 秒创建一个新文件&amp;nbsp;&lt;code&gt;capture-(hour).pcap&lt;/code&gt;，每个文件大小不超过&amp;nbsp;&lt;code&gt;200*1000000&lt;/code&gt;&amp;nbsp;字节：&lt;/p&gt;&lt;pre&gt;&lt;code&gt;$&amp;nbsp;tcpdump&amp;nbsp;&amp;nbsp;-w&amp;nbsp;/tmp/capture-%H.pcap&amp;nbsp;-G&amp;nbsp;3600&amp;nbsp;-C&amp;nbsp;200&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这些文件的命名为&amp;nbsp;&lt;code&gt;capture-{1-24}.pcap&lt;/code&gt;，24 小时之后，之前的文件就会被覆盖。&lt;/p&gt;&lt;h3&gt;8.6 提取 HTTP POST 请求中的密码&lt;/h3&gt;&lt;p&gt;从 HTTP POST 请求中提取密码和主机名：&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;-s&amp;nbsp;0&amp;nbsp;-A&amp;nbsp;-n&amp;nbsp;-l&amp;nbsp;|&amp;nbsp;egrep&amp;nbsp;-i&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;quot;POST&amp;nbsp;/|pwd=|passwd=|password=|Host:&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;8.7 提取 HTTP 请求的 URL&lt;/h3&gt;&lt;p&gt;提取 HTTP 请求的主机名和路径：&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;-s&amp;nbsp;0&amp;nbsp;-v&amp;nbsp;-n&amp;nbsp;-l&amp;nbsp;|&amp;nbsp;egrep&amp;nbsp;-i&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;quot;POST&amp;nbsp;/|GET&amp;nbsp;/|Host:&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;8.8 抓取 HTTP 有效数据包&lt;/h3&gt;&lt;p&gt;抓取 80 端口的 HTTP 有效数据包，排除 TCP 连接建立过程的数据包（SYN / FIN / ACK）：&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;tcpdump&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;tcp&amp;nbsp;port&amp;nbsp;80&amp;nbsp;and&amp;nbsp;(((ip[2:2]&amp;nbsp;-&amp;nbsp;((ip[0]&amp;amp;0xf)&amp;lt;&amp;lt;2))&amp;nbsp;-&amp;nbsp;((tcp[12]&amp;amp;0xf0)&amp;gt;&amp;gt;2))&amp;nbsp;!=&amp;nbsp;0)&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;8.9 结合 Wireshark 进行分析&lt;/h3&gt;&lt;p&gt;通常&amp;nbsp;&lt;code&gt;Wireshark&lt;/code&gt;（或 tshark）比 tcpdump 更容易分析应用层协议。一般的做法是在远程服务器上先使用&amp;nbsp;&lt;code&gt;tcpdump&lt;/code&gt;&amp;nbsp;抓取数据并写入文件，然后再将文件拷贝到本地工作站上用&amp;nbsp;&lt;code&gt;Wireshark&lt;/code&gt;&amp;nbsp;分析。&lt;/p&gt;&lt;p&gt;还有一种更高效的方法，可以通过 ssh 连接将抓取到的数据实时发送给 Wireshark 进行分析。以 MacOS 系统为例，可以通过&amp;nbsp;&lt;code&gt;brew cask install wireshark&lt;/code&gt;&amp;nbsp;来安装，然后通过下面的命令来分析：&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;ssh&amp;nbsp;root@remotesystem&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;tcpdump&amp;nbsp;-s0&amp;nbsp;-c&amp;nbsp;1000&amp;nbsp;-nn&amp;nbsp;-w&amp;nbsp;-&amp;nbsp;not&amp;nbsp;port&amp;nbsp;22&amp;#39;&lt;/span&gt;&amp;nbsp;|&amp;nbsp;/Applications/Wireshark.app/Contents/MacOS/Wireshark&amp;nbsp;-k&amp;nbsp;-i&amp;nbsp;-&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;例如，如果想分析 DNS 协议，可以使用下面的命令：&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: inherit;line-height: inherit;color: #FC9B9B;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;nbsp;ssh&amp;nbsp;root@remotesystem&amp;nbsp;&lt;span style=&quot;line-height: inherit;color: #A2FCA2;overflow-wrap: inherit !important;word-break: inherit !important;&quot;&gt;&amp;#39;tcpdump&amp;nbsp;-s0&amp;nbsp;-c&amp;nbsp;1000&amp;nbsp;-nn&amp;nbsp;-w&amp;nbsp;-&amp;nbsp;port&amp;nbsp;53&amp;#39;&lt;/span&gt;&amp;nbsp;|&amp;nbsp;/Applications/Wireshark.app/Contents/MacOS/Wireshark&amp;nbsp;-k&amp;nbsp;-i&amp;nbsp;-&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;抓取到的数据：&lt;/p&gt;&lt;figure&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/07/20200701150451159358709141521.png&quot;/&gt;&lt;/figure&gt;&lt;p&gt;&lt;code&gt;-c&lt;/code&gt;&amp;nbsp;选项用来限制抓取数据的大小。如果不限制大小，就只能通过&amp;nbsp;&lt;code&gt;ctrl-c&lt;/code&gt;&amp;nbsp;来停止抓取，这样一来不仅关闭了 tcpdump，也关闭了 wireshark。&lt;/p&gt;&lt;p&gt;到这里，我已经将我所知道的 tcpdump 的用法全部说了一遍，如果你有认真地看完本文，相信会有不小的收获，掌握一个上手的抓包工具，对于以后我们学习网络、分析网络协议、以及定位网络问题，会很有帮助，而 tcpdump 是我推荐的一个抓包工具。&lt;/p&gt;&lt;hr/&gt;&lt;p&gt;●编号535，输入编号直达本文&lt;/p&gt;&lt;p&gt;●输入m获取文章目录&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;推荐↓↓↓&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/07/20200701150451159358709172320.jpg&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Linux学习&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;更多推荐&lt;/strong&gt;&lt;strong&gt;《&lt;/strong&gt;&lt;a&gt;&lt;strong&gt;25个技术类公众微信&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;》&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;涵盖：程序人生、算法与数据结构、黑客技术与网络安全、大数据技术、前端开发、Java、Python、Web开发、安卓开发、iOS开发、C/C++、.NET、Linux、数据库、运维等。&lt;/p&gt;</description><pubDate>Wed, 01 Jul 2020 15:04:31 +0800</pubDate></item><item><title>绝了！一个rm-rf把公司整个数据库删没了...</title><link>http://www.xueyue8.cn/zblog/?id=10</link><description>&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;点击上方“CSDN技术社区”关注我们&lt;/p&gt;&lt;p&gt;获取IT行业新鲜资讯&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/03/20200331165649158564500999140.jpg&quot;/&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure&gt;&lt;p&gt;&lt;em&gt;作者：&lt;/em&gt;&lt;em&gt;zhouyu&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;br/&gt;&lt;/em&gt;&lt;/p&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;经历了两天不懈努力，终于恢复了一次误操作删除的生产服务器数据。&lt;/p&gt;&lt;p&gt;对本次事故过程和解决办法记录在此，警醒自己，也提示别人莫犯此错。&lt;/p&gt;&lt;p&gt;也希望遇到问题的朋友能找到一丝灵感解决问题。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;01&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;事故背景&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;安排一个妹子在一台生产服务器上安装 Oracle，妹子边研究边安装，感觉装的不对，准备卸载重新安装。&lt;/p&gt;&lt;p&gt;从网上找到卸载方法，其中要执行一行命令删除 Oracle 的安装目录，命令如下：&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre&gt;&lt;p&gt;rm&amp;nbsp;-rf&amp;nbsp;$ORACLE_BASE/*&lt;br/&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;如果 ORACLE_BASE 这个变量没有赋值，那命令就变成了：&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre&gt;&lt;p&gt;rm&amp;nbsp;-rf&amp;nbsp;/*&lt;br/&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;等等，妹子使用的可是 Root 账户啊。就这样，把整个盘的文件全部删除了，包括应用 Tomcat、MySQL 数据库 and so on......&lt;/p&gt;&lt;p&gt;MySQL&amp;nbsp;数据库不是在运行吗？Linux 能删除正在执行的文件?反正是彻底删除了，最后还剩一个 Tomcat 的 Log 文件，估计是文件过大，一时没有删除成功。&lt;/p&gt;&lt;p&gt;看着妹子自责的眼神，又是因为这事是我安排她做的，也没有跟她讲清厉害关系，没有任何培训，责任只能一个人背了，况且怎么能让美女背负这个责任呢？&lt;/p&gt;&lt;p&gt;打电话到机房，将盘挂到另一台服务器上，SSH 上去查看文件全部被清，这台服务器运行的可是一个客户的生产系统啊，已经运行大半年了，得尽快恢复啊。&lt;/p&gt;&lt;p&gt;于是找来脱机备份的数据库，发现备份文件只有 1KB，里面只有几行熟悉的 mysqldump 注释（难道是 Crontab 执行的备份脚本有问题），最接近的备份也是 2013 年 12 月份的了，真是屋漏偏逢连夜雨啊。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;想起来一位领导说过的案例：&lt;/strong&gt;当一个生产系统挂掉以后，发现所有备份都有问题，刻录的光盘也有划痕，磁带机也坏了（一个业界前辈，估计以前还用光盘做备份了），没想到今天真的应验到我的身上了，怎么办？&lt;/p&gt;&lt;p&gt;部门领导知道情况后，已经做了最坏的 B 计划：领导亲自带队和产品 AA 周日赶到客户所在的地市，星期一去领导层沟通；BB 和 CC 去客户管理员那边想办法说服客户......&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;02&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;救命稻草：&lt;/strong&gt;&lt;strong&gt;ext3grep&lt;/strong&gt;&lt;strong&gt;&lt;br/&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;赶快到网上去查资料进行误删数据恢复，还真找到一款 ext3grep 能够恢复通过 rm -rf 删除的文件，我们磁盘也是 ext3 格式，且网上有不少的成功案例。&lt;/p&gt;&lt;p&gt;于是燃起了一丝希望，赶快对盘 umount，防止重新写入补删文件扇区。下载 ext3grep，安装（编译安装过程艰辛暂且不表）。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;先执行扫描文件名命令：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre&gt;&lt;p&gt;ext3grep&amp;nbsp;/dev/vgdata/LogVol00&amp;nbsp;--dump-names&lt;br/&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;打印出了所有被删除文件及路径，心中狂喜，不用执行 B 计划了，文件都在呢。&lt;/p&gt;&lt;p&gt;这款软件不能按目录恢复文件，只能执行恢复全部命令：&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre&gt;&lt;p&gt;ext3grep&amp;nbsp;/dev/vgdata/LogVol00&amp;nbsp;--restore-all&lt;br/&gt;&lt;/p&gt;&lt;/pre&gt;&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&gt;&lt;p&gt;ext3grep&amp;nbsp;/dev/vgdata/LogVol00&amp;nbsp;--restore-file&amp;nbsp;var/lib/mysql/aqsh/tb_b_attench.MYD&lt;br/&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;心里不禁一凉，难道是删除磁盘上被写过文件了？恢复机率不大了啊，能恢复几个算几个吧，说不定重要数据文件刚好在能恢复的 MYD 文件中。&lt;/p&gt;&lt;p&gt;于是先将所有文件名重定向到一个文件文件中：&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre&gt;&lt;p&gt;ext3grep&amp;nbsp;/dev/vgdata/LogVol00&amp;nbsp;--dump-names&amp;nbsp;&amp;gt;/usr/allnames.txt&lt;br/&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;过滤出来所有 MySQL 数据库的文件名存成 mysqltbname.txt。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;编写脚本恢复文件：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre&gt;&lt;p&gt;while&amp;nbsp;read&amp;nbsp;LINE&lt;br/&gt;do&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;begin&amp;nbsp;to&amp;nbsp;restore&amp;nbsp;file&amp;nbsp;&amp;quot;&amp;nbsp;$LINE&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ext3grep&amp;nbsp;/dev/vgdata/LogVol00&amp;nbsp;--restore-file&amp;nbsp;$LINE&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;[&amp;nbsp;$?&amp;nbsp;!=&amp;nbsp;0&amp;nbsp;]&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;then&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;restore&amp;nbsp;failed,&amp;nbsp;exit&amp;quot;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;exit&amp;nbsp;1&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fi&lt;br/&gt;done&amp;nbsp;&amp;lt;&amp;nbsp;./mysqltbname.txt&lt;br/&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;执行，大概运行了 20 分钟，恢复了 40 多个文件，但不够啊，我们将近 100 张表，每张表 frm，myd，myi 三个文件，怎么说也有 300 多个左右啊！&lt;/p&gt;&lt;p&gt;将找回来的文件附到现有数据库上，更要文件权限为 777 后，重启 MySQL，也算是找回一部分数据了，但客户重要的考勤签到数据、手机端上报数据（据说客户按这些数据做员工绩效的）还没找回来啊。&lt;/p&gt;&lt;p&gt;咋办？中间又试了另一款工具 extundelete，跟 ext3grep 语法基本一致，原理应该也一样了，但是据说能按目录恢复。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;好吧，试一试：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre&gt;&lt;p&gt;extundelete&amp;nbsp;/dev/vgdata/LogVol00&amp;nbsp;--restore-directory&amp;nbsp;var/lib/mysql/aqsh&lt;br/&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;果然不出所料，恢复不出来！！！！！！！！那些文件已被破坏了。跟领导汇报，执行 B 计划吧......无奈之下下班回家。（周末了，回去休息一下，想想办法吧）&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;03&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;灵机一动：Binlog&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;br/&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;第二天早晨一早就醒了（心里有事啊），背上电脑，去公司（这个周末算是报销了，不挨批，通报，罚款，开除就不错了，还过什么周末啊）。&lt;/p&gt;&lt;p&gt;依旧运行 ext3grep，extundelete，也就那几招啊，把系统架到测试服务器上，看看数据能不能想办法补一补吧。&lt;/p&gt;&lt;p&gt;在测试服务器上进行 mysqldump，恢复文件，覆盖恢复回来的文件，给文件加权限，重启 MySQL。&lt;/p&gt;&lt;p&gt;Wait，Wait，不是有 Binlog 吗？我们服务都要求开启 Binlog，说不定能通过 Binlog 里恢复数据呢？&lt;/p&gt;&lt;p&gt;&lt;strong&gt;于是从 Dump 出来的文件名里找到 Binlog 的文件，一共三个：&lt;/strong&gt;&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;mysql-binlog0001&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;mysql-bin.000009&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;mysql-bin.000010&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;恢复一下 0001：&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre&gt;&lt;p&gt;ext3grep&amp;nbsp;/dev/vgdata/LogVol00&amp;nbsp;--restore-file&amp;nbsp;var/lib/mysql/mysql-bin.000001&lt;br/&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;居然失败了......再看另两个文件，mysql-bin.000010&amp;nbsp;大概几百 MB，应该靠谱一点，执行还原命令，居然成功了！&lt;/p&gt;&lt;p&gt;赶快 SCP 到测试服务器。执行 Binlog 还原：&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre&gt;&lt;p&gt;mysqlbinlog&amp;nbsp;/usr/mysql-bin.000010&amp;nbsp;|&amp;nbsp;mysql&amp;nbsp;-uroot&amp;nbsp;-p&lt;br/&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;输入密码，卡住了（好现象），经过漫长的等待，终于结束了。打开应用，哦，感谢 CCTV，MTV，数据回来了！&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;04&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;后记&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;也希望谨记此次事故，以后不再犯同样的错误。&lt;/strong&gt;&lt;strong&gt;事故反思如下：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;br/&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;本次安排 MM 进行服务器维护时没有提前对她进行说明厉害情况，自己也未重视，管理混乱，流程混乱。一个在线的生产系统，任何一个改动一定要先谋而后动。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;自动备份出现问题，没有任何人检查。脱机备份人员每次从服务器上下载 1K 的文件却从未重视。需要明确大家在工作岗位上的责任。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;事故发生后，没有及时发现，造成部分数据写入磁盘，造成不可恢复问题。需要编写应用监控程序，服务一旦有异常，短信告警相关责任人。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;根据评论提醒，再加一条：不能使用 Root 用户来操作。应该在服务器上开设不同权限级别的用户。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;通过本次事故&lt;/p&gt;&lt;p&gt;分享下&lt;strong&gt;本文所用到的工具链接：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;br/&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;1.https://code.google.com/p/ext3grep/&lt;/p&gt;&lt;p&gt;2.http://extundelete.sourceforge.net/&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;功能跟 ext3grep 差不多，原理应该也差不多。编译安装依赖包比较多，可以到网上搜索如何安装。【可惜的是作者给出的 howto 被墙了，我 FQ 将 howto 的 pdf 文档下载下来了，读完后你将会对 Linux 的文件系统有进一步的认识。】&lt;/p&gt;&lt;p&gt;这个工具有一个 Bug，出错后不会向下执行：&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre&gt;&lt;p&gt;ext3grep:&amp;nbsp;init_directories.cc:534:&amp;nbsp;void&amp;nbsp;init_directories():&amp;nbsp;Assertion&amp;nbsp;`lost_plus_found_directory_iter&amp;nbsp;!=&amp;nbsp;all_directories.end()&amp;#39;&amp;nbsp;failed.&lt;br/&gt;&lt;/p&gt;&lt;/pre&gt;&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;p&gt;最后希望各位同行的小伙伴们能谨记本文事件，开心敲代码，永远不出错～&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/figure&gt;</description><pubDate>Tue, 31 Mar 2020 16:56:35 +0800</pubDate></item><item><title>这篇文章，24小时删除</title><link>http://www.xueyue8.cn/zblog/?id=9</link><description>&lt;p&gt;这是这个系列的第二篇文章，如同第一篇一样，这篇文章会在24小时后删除。&lt;/p&gt;&lt;p&gt;之所以如此极端，因为我自认为这篇文章很有价值，不以这种方式，大家即使看了，也只会一带而过，不会真的汲取到营养。&lt;/p&gt;&lt;p&gt;这篇文章涉及的关键词包括，&lt;strong&gt;焦虑&lt;/strong&gt;，&lt;strong&gt;自我&lt;/strong&gt;，&lt;strong&gt;有条件自尊&lt;/strong&gt;，&lt;strong&gt;无条件自尊&lt;/strong&gt;，&lt;strong&gt;自我苛责&lt;/strong&gt;，&lt;strong&gt;自我接纳&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;以下开始正文。&lt;/p&gt;&lt;p&gt;记得去年12月份开情绪训练营，当时我承诺，等训练营结束后，就恢复正常更新，当时是自信满满，因为我知道，一直纠缠我的情绪问题，会得到根本解决，我也会从情绪困扰中解放出来，转而关注自己的心理学自媒体事业。&lt;/p&gt;&lt;p&gt;我是这样打算的。&lt;/p&gt;&lt;p&gt;当我真的做完情绪训练营，对情绪做了系统的梳理，看清楚了情绪的本质，掌握了情绪调节的方法，对情绪有了非常高的效能感，我终于可以掌控自己的情绪了，不再畏惧情绪，甚至，我有信心，即使再次陷入抑郁，我也能够再次走出来。&lt;/p&gt;&lt;p&gt;我终于可以走出情绪的困惑，可以尽情的施展自己，尽情的享受生活，尽情的打拼事业。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;但是，这样的洒脱才刚开始，我突然发现，一个新的困扰慢慢浮现。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;我发现，我居然有了一点社交焦虑，而且这个问题变得越来越困扰我。&lt;/p&gt;&lt;p&gt;虽然我掌握了情绪工具，我知道如何调节焦虑，如何让自己平静下来，但面对社交场合，我还是会焦虑，会不自然。&lt;/p&gt;&lt;p&gt;因为，&lt;strong&gt;焦虑，本质上预示着即将带来的威胁，如果威胁是客观的，那么焦虑也就是客观的，必然的&lt;/strong&gt;，不以我是否掌握了情绪能力为转移。&lt;/p&gt;&lt;p&gt;我为什么会突然社交焦虑呢？&lt;/p&gt;&lt;p&gt;这让我百思不得其解。&lt;/p&gt;&lt;p&gt;要知道，这么多年，我从来没有被社交焦虑困扰过，也许我不太擅长社交，但从来没有为此焦虑过。&lt;/p&gt;&lt;p&gt;我开始阅读社交类书籍，了解社交的本质，提升社交的技能，克服社交的焦虑，一如我之前学习掌握情绪技能的过程。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/02/20200217213629158194658916644.jpg&quot;/&gt;&lt;/p&gt;&lt;p&gt;所以，在情绪训练营结束后，我拖延了更新。&lt;/p&gt;&lt;p&gt;我幻想着，等我解决社交问题，我就可以恢复更新了。&lt;/p&gt;&lt;p&gt;我开始了人际社交理论的学习和实践。一切有条不紊的推进，对人际本质的了解越来越深刻，人际技能的修炼也越来越得心应手。&lt;/p&gt;&lt;p&gt;直到有一次，一个朋友找我办事，一个可以决定他人生重大抉择的事，他来求我帮忙，他是有求于我的，但是，在交谈时，居然是我焦虑，甚至还有一点取悦于他。&lt;/p&gt;&lt;p&gt;这是多不可思议的事情。&lt;/p&gt;&lt;p&gt;我居然要取悦一个来求助我的人。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;事有反常必有妖孽。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;我终于意识到，我的问题不仅仅在于社交技能，社交技巧，在这些背后，有一个更大的问题。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;01&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;焦虑，提示即将到来的威胁。&lt;/p&gt;&lt;p&gt;两个人聊天，什么样的人会让自己焦虑？&lt;/p&gt;&lt;p&gt;是与比自己跟强大的人，能够威胁到自己的人。&lt;/p&gt;&lt;p&gt;而我，居然害怕一个求助于我，一个比我软弱的他人。&lt;/p&gt;&lt;p&gt;那在我的心中，我自己的位置，是何等的卑微，何等的渺小！&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/02/20200217213629158194658911271.jpg&quot;/&gt;&lt;/p&gt;&lt;p&gt;这就是心目中的我，如此的渺小，脆弱，软弱，可怜，不堪一击，面对他人瑟瑟发抖。&lt;/p&gt;&lt;p&gt;这就是心目中的我，很多事情就讲得通了。&lt;/p&gt;&lt;p&gt;我非常恐惧抑郁，自认为在抑郁面前不堪一击，所以，我拼命的学习情绪知识，洞察情绪的本质，掌握情绪调节的方法。&lt;/p&gt;&lt;p&gt;经过两年的沉淀，我不再畏惧情绪了，具备了强大的情绪能力，手持情绪利剑，对情绪不可一世。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/02/20200217213629158194658931929.jpg&quot;/&gt;&lt;/p&gt;&lt;p&gt;但在我内心深处，我还是如此渺小，脆弱。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;所以，当我的注意力从情绪转移，开始关注他人，关注事业，我看到他人的“强大”与“可怕”，我又焦虑了，表现为社交焦虑。&lt;/p&gt;&lt;p&gt;一个新的害怕凸显出来。&lt;/p&gt;&lt;p&gt;突然想起我的过往生活，我害怕过很多东西，都是一个害怕结束，一个新的害怕开始。&lt;/p&gt;&lt;p&gt;我最早容易脸红，后来通过一年多的心理调节克服后，我又特别害怕鼻炎，在经过两年多的心理、生理调节克服后，我又开始害怕咽炎，在经过心理调节克服后，我又害怕情绪。&lt;/p&gt;&lt;p&gt;【大家对鼻炎，咽炎与心理的关系可能不是很了解，这两种病有生理因素，但也有很强烈的心理因素，甚至可以完全由心理因素诱发，现代的疾病理论是“&lt;strong&gt;心理-生理-社会&lt;/strong&gt;”模型，即一个疾病包括三个方面因素，比如鼻炎，很多人平时都没事，但越是害怕在社交场合复发，越是会复发，这多是心理、社会因素导致的，通过调节这两方面因素，不仅可以缓解鼻炎，咽炎症状，甚至可以修复生理损伤。相信这样的洞察对鼻炎、咽炎患者有所帮助。】&lt;/p&gt;&lt;p&gt;而在情绪终于调节好后，我又开始害怕社交。&lt;/p&gt;&lt;p&gt;一个害怕好不容易结束，总会又出现一个新的威胁，新的焦虑来填补。&lt;/p&gt;&lt;p&gt;前赴后继，不堪其扰！&lt;/p&gt;&lt;p&gt;本质上，就是因为，我内心中的自己太渺小了，太脆弱，太软弱，太弱不禁风。&lt;/p&gt;&lt;p&gt;所以，每面对一个领域，一个挑战，一个焦虑，我就给自己打磨一把利剑防身壮胆，结果就是，我手持十八般兵器，样样精通。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/02/20200217213630158194659052952.jpg&quot;/&gt;&lt;/p&gt;&lt;p&gt;在他人看来，我很厉害，掌握了那么多技能，但只有自己才知道，内心深处是多么的恐慌，焦虑，不安。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;面对生活，我永远缺少一把武器。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;02&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;心理咨询一直讲，一个健康的人，一个幸福的人，最重要的是处理好三个关系：&lt;/p&gt;&lt;p&gt;&lt;strong&gt;我与我的关系；&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;我与他人的关系；&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;我与世界的关系。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;其中最重要的是我与我的关系，它是后两者的基础。&lt;/p&gt;&lt;p&gt;这些话我听的耳朵都起茧子了，自己也耳熟能详，但从来没有像这一刻深刻的理解这些话，尤其是“我与我的关系”。&lt;/p&gt;&lt;p&gt;【这也是全文的核心重点，构建好最为核心的“我与我的关系”，获得真正的强大，自尊，以及内心宁静。】&lt;/p&gt;&lt;p&gt;什么是我与我的关系？&lt;/p&gt;&lt;p&gt;这是心理咨询的大白话，翻译成心理学的用语，就是心理学中两个“我”的辩证关系，一个是主我（I），一个是宾我（Me），即主我（I）与宾我（Me）的关系。&lt;/p&gt;&lt;p&gt;这两个“我”不是很好理解，直到最近查阅了社会心理学的经典著作《自我》，终于透彻的理解了这句话。【也强烈推荐这本书】&lt;/p&gt;&lt;p&gt;I see Me。&lt;/p&gt;&lt;p&gt;I是主我；&lt;/p&gt;&lt;p&gt;Me是宾我。&lt;/p&gt;&lt;p&gt;I+Me=完整的自我。&lt;/p&gt;&lt;p&gt;这里的主我（I），就是我们的意识，是我们清醒时刻对于自己的认识和描述。&lt;/p&gt;&lt;p&gt;比如经典的哲学问题，我是谁，我想干什么，这回答的就是主我（I）的问题，比如说，你想考什么样的学校，找一份什么样的工作，渴望什么样的伴侣，追求怎样的事业，想要过上什么样的的人生。&lt;/p&gt;&lt;p&gt;等等，这些其实都是主我（I）关注的内容，这些回答也就组成了主我（I）。&lt;/p&gt;&lt;p&gt;一句话概括，所谓主我（I），&lt;strong&gt;就是在意识层面对自己的构想、设想、追求、愿望，最终，绘制出一副关于自己的故事。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;而宾我（Me），其实就是主我（I）眼中的“我们自己”。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/02/20200217213630158194659012443.jpg&quot;/&gt;&lt;/p&gt;&lt;p&gt;主我，本质上是持续的意识，可以想象成一个会思考的眼睛，一个只有眼睛和大脑的思考者、追求者和观察者，一个自诩理性的智者，他一直在注视“我们自己”，这个“我们自己”也就是宾我（Me）。&lt;/p&gt;&lt;p&gt;这个智者一直在观察“我们自己”，他知道“我们自己”的过去，知道“我们自己”的能力，知道“我们自己”的品性，知道“我们自己”内心状态，知道“我们自己”的优势与不足，知道“我们自己”是个什么样的人，知道“我们自己”大概能成为什么样的人。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;这个智者对“我们自己”的观察，本质上跟对其他人的观察是一样的。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/02/20200217213630158194659047846.jpg&quot;/&gt;&lt;/p&gt;&lt;p&gt;这个智者在这么多年的持续不断的观察中，会形成关于自己，家人，朋友，爱人的印象，而其中关于“我们自己”的认识，也就是宾我（Me）。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;03&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;以上介绍了主我（I）和宾我（Me）的概念，接下来我们看看，主我（I）与宾我（Me）的关系，为什么它们之间的关系如此重要。&lt;/p&gt;&lt;p&gt;先来看看，我们以为的真实世界，我们以为的与他人的交往互动：&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/02/20200217213630158194659031606.jpg&quot;/&gt;&lt;/p&gt;&lt;p&gt;但实际上，“我”要更小点，要更加意识化，精神化，即：&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/02/20200217213631158194659170910.jpg&quot;/&gt;&lt;/p&gt;&lt;p&gt;真正核心的我是主我（I），也就是我们通常所说的精神，意识。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;主我也许很理性，很睿智，很有想法，但它本质上是想法，是意识，是无法同外界交互的，它需要宾我这个中介，需要借助宾我，才能与世界打交道。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;主我能很好的驾驭（控制）宾我与世界打交道吗？&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;比如，疫情在家，主我想利用这段时间提升自己，而宾我可能会懒惰，喜欢刷抖音，玩游戏，看小说，躺着不动，即使主我（I）感觉这样很颓废，但宾我（Me）就是不愿意动，我们感觉到内心就像分裂了一样，对自己很愤怒，本质上，这种愤怒，就是主我对宾我的愤怒。&lt;/p&gt;&lt;p&gt;所以，我与我的关系，本质上就是主我（I）与宾我（Me）的互动关系。&lt;/p&gt;&lt;p&gt;对于主我来说，它会评价，宾我是可以依靠的吗，可以信任的吗，可以依赖宾我实现渴望的梦想、理想、目标吗？&lt;/p&gt;&lt;p&gt;如果是，也就是我们通常所说的。&lt;/p&gt;&lt;p&gt;I can believe Me（相信自己）I&lt;/p&gt;&lt;p&gt;I can depend on Me（依赖自己）&lt;/p&gt;&lt;p&gt;Me can Support I&lt;/p&gt;&lt;p&gt;如果在你的评价中，也就是主我的评价中，你认为“自己”（宾我）是可信赖的，可依赖的，那你很容易就做到我们一直说的接纳自己，爱自己。&lt;/p&gt;&lt;p&gt;I can accept Me。&lt;/p&gt;&lt;p&gt;如果宾我能够突破自己，突破恐惧，主我甚至尊重宾我。&lt;/p&gt;&lt;p&gt;比如，辞去体制内的工作，这非常的纠结，主我自己也非常的恐惧，虽然认为这可能是对的，但主我也非常担心未来，非常迷茫。&lt;/p&gt;&lt;p&gt;但最终，宾我，也就是现实中的自己，克服了困难，做了这样的选择，做到了。&lt;/p&gt;&lt;p&gt;所以，主我不仅仅：&lt;/p&gt;&lt;p&gt;I accept Me&lt;/p&gt;&lt;p&gt;主我甚至：&lt;/p&gt;&lt;p&gt;I respect Me（尊重自己）&lt;/p&gt;&lt;p&gt;I am proud of Me（我为自己自豪）&lt;/p&gt;&lt;p&gt;这部分，也就是第3部分内容，是我一直以来对主我、宾我关系的理解。&lt;/p&gt;&lt;p&gt;你觉得如何？&lt;/p&gt;&lt;p&gt;你同意吗？&lt;/p&gt;&lt;p&gt;看似合理，但其实，主我 believe、depend on、accept、proud of 客我，是有条件的，也就是我们通常所说的“有条件的爱”，这种“&lt;strong&gt;有条件的&lt;/strong&gt;”，会带来很大问题。&lt;/p&gt;&lt;p&gt;具体看第4部分。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;大家再看这张图，主我是世界的中心，主我试图通过驾驭宾我，与他人、与世界互动。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/02/20200217213631158194659170910.jpg&quot;/&gt;&lt;/p&gt;&lt;p&gt;最后的结果就是，宾我工具化了，在主我的眼中，宾我不再是一个人，而是工具，一堆“武器”。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/02/20200217213631158194659121674.jpg&quot;/&gt;&lt;/p&gt;&lt;p&gt;所以，自我，也就是主我+宾我，变成了主我+刀枪棍棒。。。等十八班兵器。&lt;/p&gt;&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;p&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/02/20200217213632158194659212954.jpg&quot;/&gt;&lt;/p&gt;&lt;p&gt;甚至在一个求助我的人面前，我居然会非常焦虑，甚至要取悦。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;本质上，主我（I）将宾我（Me）当成工具，当成木偶，当成完成“主我（I）的目标”的手段，甚至可以说是奴隶、苦工，而不是一个&lt;strong&gt;需要温柔以待的人&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;【这句话非常关键，希望大家体会下。】&lt;/p&gt;&lt;p&gt;更通俗的讲，主我（I）是宾我（Me）的主人，而宾我（Me）只不过是一个需要被驾驭、被管理的工具、木偶，甚至奴隶。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/02/20200217213632158194659280613.jpg&quot;/&gt;&lt;/p&gt;&lt;p&gt;所以，我们苛责自己，鞭策自己，贬低自己，否定自己，甚至讨厌自己，憎恶自己。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;这样的“我与我的关系”，有什么问题呢？&lt;/p&gt;&lt;p&gt;&lt;strong&gt;这样的自我，带来的就是有条件自尊，或者说，不稳定自尊。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;当一切都很好的时候，或者，正处在个人擅长的领域，主我（I）能够相信宾我（Me），主我相信宾我能够搞定，主我会感到非常安全，对宾我感觉非常好，也就表现为自尊，自我接纳，甚至是自豪。&lt;/p&gt;&lt;p&gt;本质上，一个工具好用，一个奴隶好用，当然会欣然接受，没准心情好，还会夸奖几句。&lt;/p&gt;&lt;p&gt;但如果面对不擅长的领域，面对挫折失败，主我不相信宾我，主我就会非常的焦虑，恐惧，就会过分贬低宾我。&lt;/p&gt;&lt;p&gt;一个人的自尊，自我接纳，会因为面对的事情，而发生剧烈的变化。&lt;/p&gt;&lt;p&gt;这样的自尊，是不稳定的，也是没有用处的。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;因为自尊，本质上就是为了帮助我们抵御威胁和冲击，在困境中也能心平气和的坚持，而不只是让我们在顺境中感觉好。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;这样的“只能让我们在顺境中感觉良好的”有条件自尊是没有价值的。&lt;/p&gt;&lt;p&gt;我们真正想要的是无条件自尊，也就是真正的自尊。&lt;/p&gt;&lt;p&gt;心理学家区分过有条件自尊、无条件自尊的表现，在顺境时，两者没有区别，都让我们感觉更好，它们真正区别的是，在逆境时，我们对自我的评价。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;无条件自尊，即使面对逆境，面对失败，我们不会贬低自己，仍然相信自己，仍然自我感觉良好。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;这其实就如同谈恋爱。&lt;/p&gt;&lt;p&gt;如果你真正爱上一个人，即使发现她的缺点，甚至就如同知乎的提问，“情侣之间如何跨过屎尿屁的坎？”，即使有如此种种，你也还是会爱她，拥抱她，而不会贬低她，唾弃她。&lt;/p&gt;&lt;p&gt;无条件自尊，本质上是来自于真正的爱，真正的把自己当成一个“人”一样去交往，去尊重，去爱惜。&lt;/p&gt;&lt;p&gt;而不是另外一种婚姻，或者说有条件婚姻，因为金钱，地位，权利，资源等外部因素走在一起，若这些因素一直存在，那一切都很好，但当这些东西失去时，你就会贬低他，讨厌他，唾弃他。&lt;/p&gt;&lt;p&gt;这就是有条件自尊，在一切顺利时，一切都好，而在困境时，不仅大难临头各自飞，甚至还会踩一脚。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;纸糊的自尊，不堪一击，也不值得拥有。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;那么，如何去获得无条件自尊呢？&lt;/p&gt;&lt;p&gt;本质上，就如同跟自己“谈恋爱”（如果不喜欢谈恋爱的比喻，也可以比喻为成为兄弟，成为伙伴，成为搭档），从而真正的自我接纳。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;而一切的前提，就是训练主我将“我们自己”（宾我）当成一个人，一个平等地位的人，而不是一个工具，一个需要被驾驭的奴仆。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/02/20200217213632158194659260113.jpg&quot;/&gt;&lt;/p&gt;&lt;p&gt;主我与宾我，彼此携手，慢慢变成兄弟、搭档、合作伙伴，彼此相互合作，相互挟持，一起去面对他人，面对世界。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/02/20200217213632158194659221083.jpg&quot;/&gt;&lt;/p&gt;&lt;p&gt;不再是主我一个人唱独角戏，不再是主我一个人孤独的面对世界。&lt;/p&gt;&lt;p&gt;这种改变有多强大呢？&lt;/p&gt;&lt;p&gt;结伴成行的力量有多大呢？&lt;/p&gt;&lt;p&gt;想象下：&lt;/p&gt;&lt;p&gt;一个人看恐怖片；&lt;/p&gt;&lt;p&gt;身边有个人陪你一起看恐怖片；&lt;/p&gt;&lt;p&gt;这两种场景的区别，本质上就是同行的力量，伙伴的力量，彼此扶持、合作的力量！&lt;/p&gt;&lt;p&gt;这种改变的力量就是如此之大。&lt;/p&gt;&lt;p&gt;我们内心会非常的宁静，非常的充实，非常的滋养，非常的安全，以及，非常的强大。&lt;/p&gt;&lt;p&gt;我们也就获得了真正的无条件自尊。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;05&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;主我+工具化宾我，这本质上是驾驭、操控、驯服的关系。&lt;/p&gt;&lt;p&gt;也许取得了很多的成就，在外人看来有很强大的能力，比如，学习，意志，情绪，心理，成就，事业，等等，但内心永远是弱小的，脆弱的，恐惧的，害怕的，不堪一击的。&lt;/p&gt;&lt;p&gt;因为，完整的自我缺失了。&lt;/p&gt;&lt;p&gt;完整的自我=主我+宾我。&lt;/p&gt;&lt;p&gt;而&lt;strong&gt;主我中心主义&lt;/strong&gt;，准确说是&lt;strong&gt;主我至上主义&lt;/strong&gt;，虽然让主我有一种高高在上的优越感，成为绝对的核心，但同时，它也是孤独的，它需要独自一个人，孤独的面对世界的挑战，孤独的驾驭宾我，这让它不堪重负。&lt;/p&gt;&lt;p&gt;所以，这样的主我，永远是焦虑的，紧张的，如临大敌的，对宾我是非常苛责的。&lt;/p&gt;&lt;p&gt;而主我+伙伴式宾我，这本质上是一种合作，是彼此携手，彼此尊重，彼此支撑，1+1&amp;gt;&amp;gt;2的关系。&lt;/p&gt;&lt;p&gt;我们的内心，内心的主角，就不只是狭隘的主我了，而是将宾我也容纳进去了，主我+宾我，变成完整的自我了。&lt;/p&gt;&lt;p&gt;主我，宾我，不再是驾驭关系，而是平等的伙伴关系，相互扶持，相互协作，一起去面对挑战。&lt;/p&gt;&lt;p&gt;成功了，主我、宾我一起庆贺，一起成长。&lt;/p&gt;&lt;p&gt;失败了，主我、宾我相互抚慰，相互支撑，相互鼓励，再去寻找新的办法。&lt;/p&gt;&lt;p&gt;即使外界波涛汹涌，内心却非常平静。&lt;/p&gt;&lt;p&gt;所以，如何处理好（主）我与（客）我的关系？&lt;/p&gt;&lt;p&gt;或者说，如何构建我与我的伙伴关系，主我真正的接纳宾我，将宾我当成一个平等的伙伴，构建伙伴式的“我与我的关系”，获得真正的自尊，以及真正的平静？&lt;/p&gt;&lt;p&gt;仅仅通过对自己念咒语“接纳自己”，或者下决心平等对待自己，这是不够的，也是不现实的。&lt;/p&gt;&lt;p&gt;一切的前提，&lt;strong&gt;就是训练主我，打破“宾我工具化”的误区，不再是主我驾驭宾我，而是尝试着，将宾我，也就是“我们自己”，当成一个人&lt;/strong&gt;，当成一个有血有肉的人，去接触，去相处，去了解，去尊重，去建立友情，去建立伙伴关系。&lt;/p&gt;&lt;p&gt;就如同我们与朋友建立关系一样。&lt;/p&gt;&lt;p&gt;如何做到这点，推荐大家看一本书《自我关怀的力量》，这是非常严肃的学术著作，是得克萨斯大学人类学教授写的。&lt;/p&gt;&lt;p&gt;再强调下，接纳自我，最重要的事情有两件：&lt;/p&gt;&lt;p&gt;第一，训练主我，打破宾我的工具化，将宾我，也就是将自己，当成一个有血有肉的人，一个human，而不只是执行主我目标、理想、意愿的工具、木偶、奴隶，不是十八般兵器的堆砌；&lt;/p&gt;&lt;p&gt;第二，打破主我的绝对中心主义，绝对至上主义，尝试着也将宾我纳入核心，跟宾我平等相处，自我（完整的自我=主我+宾我）就真正完整了，两个“我”手拉手，一起去面对世界的挑战，不管外界如何风起云涌，内心自有一片安宁。&lt;/p&gt;&lt;p&gt;【如何构建伙伴式的“我与我的关系”，这是另外一个更大的问题，本篇文章已经6000多字了，就不打算再深入展开了，留待以后的文章涉猎。&lt;/p&gt;&lt;p&gt;若大家有兴趣，可以看看第一篇《这篇文章24小时删除》，其中探讨过接纳自我。】&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;06&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;自我心理学是心理学的核心，&lt;strong&gt;我们对自己的看法，会影响我们的行为。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;比如，虽然在他人看来我很强大，甚至很厉害，但在我内心深处，我认为自己很渺小，很脆弱，所以，我很焦虑，甚至面对求助于我的人，也很怯懦。&lt;/p&gt;&lt;p&gt;自我的强大，不在于我目前拥有了哪些武器，而是两个“我”，两个伙伴，彼此理解，做好了准备，一起去面对他人，面对世界。&lt;/p&gt;&lt;p&gt;处理好自我的关系，获得真正有力量的自我，坦然的面对世界的挑战，这是一种骨子里的自信，一种骨子里的内心平和。&lt;/p&gt;&lt;p&gt;不管挑战多么艰难，两个人同舟共济，互相抚慰，彼此支撑，相互促进，一起面对不确定的世界，不确定的他人，不卑不亢，内心平静。&lt;/p&gt;&lt;p&gt;一个真正强大的自我，一个真正接纳的自我，一个内心真正平静的自我。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;内心平静，然后，快速行动。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;（内心平静后的力量，可以推荐一本书《身心合一的奇迹力量》，美国运动心理学家加尔韦的著作，这本书通过最激烈的比赛场展示了内心合一的力量，在日常生活中自然也是如此）&lt;/p&gt;&lt;p&gt;主我+工具化宾我，主我+伙伴式宾我，不同的“我与我的关系”，带来不同的结果，这已经论述很多了，最后，再做一个简单的小结。&lt;/p&gt;&lt;p&gt;主我+工具化宾我，这是我长久以来的行为模式，在他人看来，我拥有很多，非常强大，外表光鲜，一片祥和，但内心深处，永远&lt;strong&gt;是焦虑的&lt;/strong&gt;，&lt;strong&gt;恐惧的&lt;/strong&gt;，&lt;strong&gt;不安的&lt;/strong&gt;，&lt;strong&gt;孤独的&lt;/strong&gt;，&lt;strong&gt;强自支撑着的&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/02/20200217213632158194659212954.jpg&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;而主我+伙伴式宾我，这是我最近正在体会的模式，这么多年来，我开始找到一种发自肺腑的宁静，即使外界狂风骤雨，虽然也会焦急，也会慌张，但内心最深处，是&lt;strong&gt;宁静的&lt;/strong&gt;，&lt;strong&gt;是安稳的&lt;/strong&gt;，&lt;strong&gt;是强大的&lt;/strong&gt;，&lt;strong&gt;是自信的&lt;/strong&gt;，&lt;strong&gt;是充满希望的&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://www.xueyue8.cn/zblog/zb_users/upload/2020/02/20200217213632158194659221083.jpg&quot;/&gt;&lt;/p&gt;&lt;p&gt;这种感觉，真好，希望你也能品尝到。&lt;/p&gt;&lt;p&gt;这篇文章6500+字，是关于人生核心转折的一个梳理，24小时后删，希望你很幸运能看到它。&lt;/p&gt;&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;p&gt;文：高太爷；&lt;/p&gt;&lt;p&gt;手绘：张婷（微信号：Zt881221）。&lt;/p&gt;</description><pubDate>Mon, 17 Feb 2020 21:36:07 +0800</pubDate></item></channel></rss>