linux用什么命令可以把一段路径截取到指定的字符串

这个命令……我当时就很困惑。
直到后来我才反应过来。
这是使用 sed。
That.txt 文件是一个文件。
2 02 2 年。
我可能有偏见。
我觉得这个事情还是挺复杂的。
s/\(.logs\/\)./\1 /p 是什么意思?我看了一下。
这是一个正则表达式。
匹配以logs/开头的。
然后取logs/前面的部分。
然后打印它。
-n 是一个选项。
表示只打印对应的部分。
p 表示打印。
That.txt 文件是输入文件。
执行该命令后。
.txt 文件中所有相应的日志/部分将被输出。
例如。
如果.txt文件的内容是。
abc/logs/def.txt ghi/logs/jkl.mno。
所以输出是。
abc/ghi/. ABC/和ghe/是logs/前面的部分。
这个命令非常有用。
它可用于提取路线的某一部分。
sed 是一个流编辑器。
可用于处理文本。
这个正则表达式相当复杂。
2 02 2 年的那个时候。
也许我还没有完全明白。
sed 的语法。
现在想想吧。
其实并不难。
That.txt 文件是一个特定的文件。
在那台计算机上。
运行此命令。
你会得到那个结果。
这个结果就是logs/前面的部分。
这部分可能很重要。
可能需要进一步处理。
sed 是一个工具。
该工具已准备就绪。
非常方便。
这个顺序就是这样。
没什么别的了。

linux按列提取文本是什么-cut命令使用与实例

说白了,Cut命令是Linux中将文本剪切成列的强大工具,但如果使用不当,很容易导致错误。

我们先来说说最重要的事情。
Cut 有三种主要模式:字节 (-b)、按字符 (-c) 和按字段 (-f)。
去年,当我们开始一个syslog监控项目时,我们使用-c来处理很多中文错误。
后来我们改用-b和-n来得到解决方案。
还有一件事:不要忘记 -d 分隔符。
处理 CSV 文件时,如果默认制表符 t 未附加逗号 -d,则会立即失败。
还有一个关键细节。
例如-b1 -3 会直接截断字节,但中文的“你”占用3 个字节。
如果不加-n,就只能取出“you”这个词的第一个字节,将其变成“艉”。
老实说,这很令人困惑。

一开始我以为-f和-s(静态字段)类似,后来发现这是错误的。
s 修剪空格或由 -d 选项指定的分隔符,而 -f 跳过空行。
等等,还有一件事:在传递输入时不要忘记添加一个空的 -d 行,否则 ps aux 输出将默认以制表符分隔,并且 PID 将丢失。

建议使用-c来处理中文文本,或者在-b中添加-n以保证完整性。
但不要记住参数,只需根据实际文件结构调整组合即可。

如何使用Linux strings提取文件信息

哈,绳子用起来很方便,但有时也很容易绊倒。
我将带您了解我遇到的陷阱和一些实际场景,您可以看看是否有帮助。

---
上周,一位客户问我,他得到了一个恶意软件样本,想要找到其中的 URL 或域名,但是当他直接使用字符串运行它时,结果出现了一堆乱码和无用的东西。
后来我告诉他,他必须考虑多种选择。

我自己遇到的陷阱是,一旦我解析了Windows PE文件,其中的一些字符串被压缩或加密,并且根本无法提取干净的字符串。
后来我了解到我必须先使用 xxd 或 binwalk 检查文件结构,然后使用字符串的 -n 选项来增加最小长度以捕获压缩的函数名称。

我给你举个具体步骤的例子:
1 .基本使用:最简单的就是直接使用 巴什 字符串 /path/to/malware.bin 但正如客户所说,直接出来一堆ASCII码,我根本看不懂。
此时,您应该知道恶意软件通常使用 Base64 或自定义编码,因此...
2 指定最小长度:必须添加 巴什 字符串 -n 1 0 /path/to/malware.bin 这次好多了,至少可以过滤掉那些太短而没有用的字符串。
例如,像http://这样长度小于1 0的URL就没有了。

3 指定编码:这是关键! 巴什 字符串-n 1 0 -eUTF-8 /path/to/malware.bin 如果文件是UTF-8 编码的话,乱码问题就基本解决了。
如果是不同的编码,例如Windows PE文件可能是CP1 2 5 2 ,则需要更改-e参数: 巴什 字符串-n 1 0 -eCP1 2 5 2 /path/to/malware.bin
4 结合grep过滤:这一步缺一不可! 巴什 字符串-n 1 0 -eUTF-8 /path/to/malware.bin |抓取“http” 直接查找带http的URL,这样输出会干净很多。

5 保存结果:不要每次都复制粘贴 巴什 字符串 -n 1 0 -eUTF-8 /path/to/malware.bin > urls.txt 将结果保存到文件中,以便以后用grep或awk分析,比较方便。

---
让我告诉你另一个调试场景:
我之前在调试 Linux 应用程序时发现二进制文件中隐藏着一个硬编码的 API 密钥。
当时文件是UTF-1 6 编码的,直接使用字符串会出现乱码。
我改用这个命令: 巴什 字符串 -eUTF-1 6 /path/to/app.exe | grep "API_KEY"
这次直接抓到了key。
如果文件是压缩的,首先使用gunzip解压或者使用dd抓取部分压缩包然后进行分析。

---
一些小建议:

文件类型:字符串主要用于二进制文件,文本文件很少使用。
如果文本文件出现乱码,请尝试inov转换。

大文件:不要直接运行huge.bin。
使用 head -n 1 0000 首先读取第一个 KB,或使用 strings -n 1 0 -eUTF-8 Huge.bin |头-n 1 00。

加密和压缩:如果文件被加密或压缩,字符串基本上就没用了。
需要使用binwalk找到解密偏移量,或者使用xxd手动解码。

无论如何,这取决于你。
字符串可以灵活使用。
我还在想一个问题。
如果shellcode嵌入在文件中,我如何使用字符串来捕获它?我还没试过这个...