当前位置:首页 » 操作系统 » linux过滤

linux过滤

发布时间: 2022-01-25 07:52:02

linux中提供TCP/IP包过滤的软件叫什么

大家都知道网络是分层的,而这个分层就好比是一个企业里的组织结构一样。在日常使用电脑过程中,人操作着电脑,人就好比是指挥电脑对因特网操作的首席执行官。当我们打开Foxmail这个邮件软件收取邮件时,Foxmail这个软件就会调用TCP/IP参考模型中的应用层协议—POP协议。

应用层协议建立在网络层协议之上,是专门为用户提供应用服务的,一般是可见的。如利用FTP(文件传输协议)传输一个文件请求一个和目标计算机的连接,在传输文件的过程中,用户和远程计算机交换的一部分是能看到的。而这时POP协议则会指挥下层的协议为它传送数据服务器,最后Foxmail通过一系列协议对话后成功将电子邮件保存到了Foxmail的收件箱里。TCP/IP参考模型是Internet的基础。和OSI的7层协议比较,TCP/IP参考模型中没有会话层和表示层。通常说的TCP/IP是一组协议的总称,TCP/IP实际上是一个协议族(或协议包),包括100多个相互关联的协议,其中IP(Internet Protocol,网际协议)是网络层最主要的协议;TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)是传输层中最主要的协议。一般认为IP、TCP、UDP是最根本的三种协议,是其它协议的基础。

相信读者了解TCP/IP框架之后,一定会对各层产生一定的兴趣,不过我们对于这个模型的理解也是一步步来的。在这里,我们首先只要知道相应的软件会调用应用层的相应协议,比如Foxmail会调用POP协议,而IE浏览器则会调用DNS协议先将网址解析成IP地址。在实际收取邮件的过程中,POP这个应用层的协议会指挥TCP协议,利用IP协议将一封大邮件拆分成若干个数据包在Internet上传送。

为了便于读者理解这个过程,笔者举个例子来说明一下,比如你要和一个人远距离通话,因为距离实在太远了,你只好将你所表达的一大段分成一个个字大声喊,而对方把每个听到的字写在纸上,当写下来后就大喊一声告诉你它收到了,这样就克服了距离远听不清的弱点,这种一问一答的反馈机制就好比是TCP协议,POP服务器一般使用的是TCP的110号端口。

POP工作原理简介

下面就让我们一起来看看电子邮件软件收取电子邮件的过程,一般我们在电子邮件软件的账号属性上设置一个POP服务器的URL(比如pop.163.com),以及邮箱的账号和密码。这个在收信过程中都是用得到的。当我们按下电子邮件软件中的收取键后,电子邮件软件首先会调用DNS协议对POP服务器进行解析IP地址,当IP地址被解析出来后,邮件程序便开始使用TCP协议连接邮件服务器的110端口,因为POP服务器是比较忙的,所以在这个过程中我们相对要等比较长的时间。当邮件程序成功地连上POP服务器后,其先会使用USER命令将邮箱的账号传给POP服务器,然后再使用PASS命令将邮箱的账号传给服务器,当完成这一认证过程后,邮件程序使用STAT命令请求服务器返回邮箱的统计资料,比如邮件总数和邮件大小等,然后LIST便会列出服务器里邮件数量。然后邮件程序就会使用RETR命令接收邮件,接收一封后便使用DELE命令将邮件服务器中的邮件置为删除状态。当使用QUIT时,邮件服务器便会将置为删除标志的邮件给删了。通俗地讲,邮件程序从服务器接收邮件,其实就是一个对话过程,POP协议就是用于电子邮件的一门语言。

Ⅱ 如何通过linux命令根据某一列值唯一来过滤

你可以这样做:
(1)为Server的那些使用者建立单独的账户,例如:user01、user02....等等(可以给每个人建立一个单独的账户。当然,为了使系统中的账户不至于太多而导致难以管理,也可以按照他们所在的部门、项目组(或工作组)、或是其它分类方式去建立账户)。
(2)对每个账户下的$HOME/.profile文件或者是$HOME/.cshrc文件(视不同用户的SHELL来决定,例如:bsh和sh就是.profile,csh就是.cshrc),用
chown root:root ... (例如: chown root:root .cshrc)
命令将它们改成root用户及属组所有,只有root用户才可以更改它们。
(3)在每个用户的$HOME/.profile或是$HOME/.cshrc等shell环境配置文件中,将你认为是危险的命令做以下的转换:

alias 命令名='echo 管理员不运行执行该命令'

例如: alias format='echo 管理员不运行执行该命令'

这样这些用户就无法执行你限定的命令,执行之后都显示“管理员不运行执行该命令”。

如果觉得改.profile或是.cshrc文件不保险,还可以在每个用户的$HOME下建立.login文件,也用上述的方法将它改成root用户属组的,在里面加入

alias 命令名='echo 管理员不运行执行该命令'

效果更好。

----看到了你的问题追加。我觉得要是大家都只能使用root账户,那么这个系统的规划是否合理?假如一定都要使用root账户的话,对于每个用户在键入命令的过程中,你很难去捕获他们都正在敲入什么命令。只有等他们在命令行上都输入完了,回车确认之后才可能去发现他们执行的进程。假如真有这样的一个监控程序在你的系统中,就算是监控到了,那么那些进程已经开始运行了,对很多人来说已经是无法收拾了,只有及时的杀掉那些进程了。建议你把敏感的命令给rename了算了,例如mv format frmt

Ⅲ linux grep查询结果再过滤

grep查询过滤需要使用管道命令|。

举例说明:

1、在进程表中查找特定进程的命令通常如下:

Ⅳ 在linux上tshark怎么过滤

抓Mysql包命令如下:
tshark -s 512 -i eth0 -n -f 'tcp dst port 3306' -R 'mysql.query' -T fields -e mysql.query
tshark -s 512 -i em1 -n -f 'tcp dst port 3306' -R 'mysql.query' -T fields -e mysql.query
过滤HTTP请求:
# tshark 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' -R 'http.request.method == "GET" || http.request.method == "HEAD"'
输出:
Running as user "root" and group "root". This could be dangerous.
Capturing on eth0
0.000000 123.126.68.27 -> 173.255.196.50 HTTP GET /grep.html HTTP/1.1
12.066470 123.126.68.27 -> 173.255.196.50 HTTP GET /pro_lang.html HTTP/1.1
-s 512 :只抓取前512个字节数据
-i eth0 :捕获eth0网卡
-n :禁止网络对象名称解析
-f 'tcp dst port 3306' :只捕捉协议为tcp,目的端口为3306的数据包
-R 'mysql.query' :过滤出mysql.query
-T fields -e mysql.query :打印mysql查询语句

tshark使用-f来指定捕捉包过滤规则,规则与tcpmp一样,可以通过命令man pcap-filter来查得。
tshark使用-R来过滤已捕捉到的包,与界面板wireshark的左上角Filter一致。

Ⅳ linux下按时间过滤文件如何设置

find dir -mtime +10 -a -mtime -20
找出最后写入时间为10天-20天前的文件

你这样算算就好了
-mtime是天
-mmin是分钟

Ⅵ linux中 grep 如何过滤含有$符号的字符串

Ⅶ 什么过滤操作在Linux中如何实现

过滤操作就是指在一大堆文本信息中筛选出你关心的数据。
一般用 ls + 通配符,或 grep, sed 或 awk 这些支持正则表达式的工具都可以实现过滤操作。
比如:
ls *.jpg #过滤出当前目录下以jpg为后缀的所有文件,这是通配符用法
grep "abc" file.txt #过滤出file.txt中包含abc的行,这里没有使用正则表达式
ls | grep "[a-z][0-9].csv" #从ls的结果中过滤出文件名格式为一个字母加一位数字并以.csv为后缀的文件名,这里用了正则表达式(字母集合[a-z]与数字集合[0-9])

Ⅷ linux使用find命令如何过滤文件夹

先用find 查找的时候,制定不查找“.”开头的文件夹

find /your/dir -type d ! -name ".*"

Ⅸ 如何通过linux命令根据某一列值唯一来过滤数据

你可以这样做:
(1)为Server的那些使用者建立单独的账户,例如:user01、user02....等等(可以给每个人建立一个单独的账户。当然,为了使系统中的账户不至于太多而导致难以管理,也可以按照他们所在的部门、项目组(或工作组)、或是其它分类方式去建立账户)。
(2)对每个账户下的$HOME/.profile文件或者是$HOME/.cshrc文件(视不同用户的SHELL来决定,例如:bsh和sh就是.profile,csh就是.cshrc),用
chown root:root ... (例如: chown root:root .cshrc)
命令将它们改成root用户及属组所有,只有root用户才可以更改它们。
(3)在每个用户的$HOME/.profile或是$HOME/.cshrc等shell环境配置文件中,将你认为是危险的命令做以下的转换:

alias 命令名='echo 管理员不运行执行该命令'

例如: alias format='echo 管理员不运行执行该命令'

这样这些用户就无法执行你限定的命令,执行之后都显示“管理员不运行执行该命令”。

如果觉得改.profile或是.cshrc文件不保险,还可以在每个用户的$HOME下建立.login文件,也用上述的方法将它改成root用户属组的,在里面加入

alias 命令名='echo 管理员不运行执行该命令'

效果更好。

----看到了你的问题追加。我觉得要是大家都只能使用root账户,那么这个系统的规划是否合理?假如一定都要使用root账户的话,对于每个用户在键入命令的过程中,你很难去捕获他们都正在敲入什么命令。只有等他们在命令行上都输入完了,回车确认之后才可能去发现他们执行的进程。假如真有这样的一个监控程序在你的系统中,就算是监控到了,那么那些进程已经开始运行了,对很多人来说已经是无法收拾了,只有及时的杀掉那些进程了。建议你把敏感的命令给rename了算了,例如mv format frmt

----呵呵,你也够执着的。既然一定要写个程序,那我就说说大概的思路吧!具体的程序代码你可以自己去写,这样也有些成就感。:)
不过我能保证,就算采用这样的做法也不会取得什么好的效果,尤其是大家都使用root账户。我用unix类操作系统近十年,听我一句劝告不会有什么害处啊!

程序思路:
(1)定义你的敏感命令列表(可以赋值给一个字符串数组)。
(2)获取你本人在系统中当前的tty编号,以及你自己的IP地址(你是从哪个IP地址发起的telnet?如果你本人使用Console,也需要如此)。
(3)按照你的敏感命令列表,循环检测除了自己的tty及IP地址之外的,其它tty及IP地址发起的敏感命令进程,如果发现,立即予以kill -9。并向相应的tty发送警告信息。

注意:这个循环是无限循环;这个程序是一个守护进程(Daemon)。除非接到进程中止信号,否则它将一直运行。这样做的缺点是,循环检测并杀掉那些敏感进程的过程并不能确保实时性,在发现相应的进程时,那些进程可能已经运行了一小段时间,尽管这段时间非常非常的短,但是也可能已经产生了效力甚至是危害。不过,这也是没办法的事情了。谁要你非要这样呢?

Ⅹ linux怎样用grep过滤

你在配置文件里不可以用grep命令来过滤。grep只能在目录文件上才能用。

热点内容
单片机android 发布:2024-09-20 09:07:24 浏览:764
如何提高三星a7安卓版本 发布:2024-09-20 08:42:35 浏览:663
如何更换服务器网站 发布:2024-09-20 08:42:34 浏览:310
子弹算法 发布:2024-09-20 08:41:55 浏览:288
手机版网易我的世界服务器推荐 发布:2024-09-20 08:41:52 浏览:816
安卓x7怎么边打游戏边看视频 发布:2024-09-20 08:41:52 浏览:161
sql数据库安全 发布:2024-09-20 08:31:32 浏览:93
苹果连接id服务器出错是怎么回事 发布:2024-09-20 08:01:07 浏览:506
编程键是什么 发布:2024-09-20 07:52:47 浏览:657
学考密码重置要求的证件是什么 发布:2024-09-20 07:19:46 浏览:480