Linux系统日常管理2
本文最后更新于 2440 天前,其中的信息可能已经有所发展或是发生改变。

一、Linux抓包工具

tcpdump 系统自带抓包工具

tcpdump -nn -i eth0 tcp and host 192.168.0.1 and port 80
tcpdump -nn -vs0 tcp and port not 22 -c 100 -w 1.cap

wireshark 在linux下也可以安装

yum install -y wireshark

抓包分析http请求:

tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "http.request.uri"



二、Selinux

配置文件 /etc/selinux/config

三种形式(分别是 启用、记录但不拦截、禁用:

enforcing, permissive, disabled SELINUX=disabled   ## disabled之后还需要重启系统可以生效

setenforce 0/1   //开启或是关闭

getenforce  // 插叙状态

yum install -y libselinux-utils  ## 安装

 

三、 netfilter —  iptables

参考:  http://www.cnblogs.com/bangerlee/archive/2013/02/27/2935422.html
两张图:
123525l8sggjorovrpkopk

123530dmowzfmfkcnooknb

iptables -nvL 查看规则
iptables -F 清除当前的规则
iptables -Z 计数器清零
service iptables save 保存规则 保存的规则文件为:/etc/sysconfig/iptables
service iptables stop  可以暂停防火墙,但是重启后它会读取/etc/sysconfig/iptables 从而启动防火墙,另外即使我们停止防火墙,但一旦我们添加任何一条规则,它也会开启。
iptables -t  指定表名,默认不加-t则是filter表
filter 这个表主要用于过滤包的,是系统预设的表,内建三个链INPUT、OUTPUT以及FORWARD。INPUT作用于进入本机的包;OUTPUT作用于本机送出的包;FORWARD作用于那些跟本机无关的包。
nat 主要用处是网络地址转换、端口映射,也有三个链。PREROUTING 链的作用是在包刚刚到达防火墙时改变它的目的地址,如果需要的话。OUTPUT链改变本地产生的包的目的地址。POSTROUTING链在包就要离开防火墙之前改变其源地址。

mangle 主要用于修改数据包的TOS(Type Of Service,服务类型)、TTL(Time ToLive,生存周期)值以及为数据包设置Mark标记,以实现Qos (Quality of Service,服务质量)调整以及策略路由等应用,由于需要相应的路由设备支持,因此应用并不广泛。 五个链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD

raw   对报文设置一个标志,决定数据包是否被状态跟踪机制处理   只有两个链:OUTPUT、PREROUTING

iptables规则相关:



查看规则 iptables -t nat -nvL
清除规则 iptables -t nat -F
增加/删除规则  iptables -A/-D INPUT -s 10.72.11.12 -p tcp –sport 1234 -d 10.72.137.159 –dport 80 -j DROP
插入规则 iptables -I INPUT -s 1.1.1.1 -j DROP/ACCEPT/REJECT
iptables -nvL –line-numbers  查看规则带有id号
iptables -D INPUT 1 根据规则的id号删除对应规则
iptables -P INPUT DROP  用来设定默认规则,默认是ACCEPT ,一旦设定为DROP后,只能使用 iptables -P ACCEPT 才能恢复成原始状态,而不能使用-F参数

实例:

针对filter表,预设策略INPUT链DROP,其他两个链ACCEPT,然后针对192.168.0.0/24开通22端口,对所有网段开放80端口,对所有网段开放21端口。 脚本如下:

#! /bin/bash
ipt="/sbin/iptables"
$ipt -F; $ipt -P INPUT DROP;
$ipt -P OUTPUT ACCEPT; $ipt -P FORWARD ACCEPT;
$ipt -A INPUT -s 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT

 

icmp的包有常见的应用,本机ping通外网,外网ping不通本机

iptables -I INPUT -p icmp --icmp-type 8 -j DROP

nat表应用:

路由器就是使用iptables的nat原理实现
假设您的机器上有两块网卡eth0和eth1,其中eth0的IP为192.168.10.11,eth1的IP为172.16.10.11 。eth0连接了intnet 但eth1没有连接,现在有另一台机器(172.16.10.12)和eth1是互通的,那么如何设置也能够让连接eth1的这台机器能够连接intnet?

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 172.16.10.0/24 -o eth0 -j MASQUERADE

 

规则备份与恢复:

service iptables save 这样会保存到/etc/sysconfig/iptables
iptables-save > myipt.rule 可以把防火墙规则保存到指定文件中
iptables-restore < myipt.rule  这样可以恢复指定的规则

四、Linux系统任务计划

/etc/crontab  cron的主配置文件,可以定义PATH
cron格式如下:
# .—————-分钟 (0 – 59)
# |  .————- 小时 (0 – 23)
# |  |  .———-  日 (1 – 31)
# |  |  |  .——-  月 (1 – 12)
# |  |  |  |  .—-   周 (0 – 6) (周日=0 or 7)
# |  |  |  |  |
# * *  * *  * user-name command to be executed
cron 也是一个服务,所以需要先启动服务才能生效:service crond start; service crond status

任务计划练习题:

每天凌晨1点20分清除/var/log/slow.log这个文件
每周日3点执行 “/bin/sh /usr/local/sbin/backup.sh”
每月14号4点10分执行 “/bin/sh /usr/local/sbin/backup_month.sh”
每隔8小时执行 “ntpdate time.windows.com”
每天的1点,12点,18点执行 “/bin/sh /usr/local/sbin/test.sh”
每天的9点到18点执行 “/bin/sh /usr/local/sbin/test2.sh”

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇