iptables
 ip 的 tables ip的表格;
 iptables只是netfilter的前端管理工具;netfilter是linux内核提供的数据流量管理模块;
 iptables/netfilter数据流量管理框架;
 普遍人问IPtables就是一个防火墙;
 作用:流量过滤;(防火墙:1、流浪过滤 2、接VPN)
1、网络防火墙
 首先,网络防火墙一般处在外网出口处;
 主要对于内外网交互的流量进行监控与过滤;
 
2、主机防火墙(并不提到360、xx管家)
 主机有内核空间和用户空间,netfilter的过滤模块运行在内核空间,但是它又无法提供数据匹配,所以我们需要使用函数来调用netfilter模块,匹配数据流量;
 5个钩子:匹配数据流量:就有我们所说的 Chain (钩子)
  PREROUTING
  INPUT
  FORWARD
  OUTPUT
  POSTROUTING
 3种流量:1、到达主机的流量
  2、通过主机的流量
  3、主机发起的流量
 4张表来决定行为:
  1、raw      保持连接--建议不要开启这个表的功能
  2、mangle      做数据包修改
  3、nat nat映射,包括SNAT DNAT
  4、filter  数据包过滤(默认启用)
  那些表,可以关联那些“钩子”呢?
  raw -- OUTPUT  PREROUTING
  mangle -- PREROUTING INPUT FORWARD OUTPUT POSTROUTING
  nat  --  POSTROUTING OUTPUT PREROUTING
  filter -- OUTPUT INPUT FORWARD
  【对于数据包的行为,就决定了这个数据包要经过那个链】
 *注意:写策略的时候,需要关联钩子,策略是属于“钩子”的,而钩子只做策略匹配,但不能进行数据操作;
 所以,我们需要再关联表,每一种表决定了一种行为操作;
 表 包含链  -- 链 包含 策略;
3、iptables的用法:
 iptables [-t table] {-A|-D} chain rule-specification
 iptables [-t table] -I chain [rulenum] rule-specification
 iptables [-t table] -R chain rulenum rule-specification
 iptables [-t table] -D chain rulenum
 iptables [-t table] -S [chain [rulenum]]
 iptables [-t table] {-F|-L|-Z} [chain [rulenum]] [options...]
 iptables [-t table] -N chain
 iptables [-t table] -X [chain]
 iptables [-t table] -P chain target
 iptables [-t table] -E old-chain-name new-chain-name
 -t 指定 表
 -A -I 添加策略 -A在最下面添加,-I 在最上面添加
  建议:工作的时候一定要用 -A 不要用 -I
 -D  删除策略
 -R  替换链表 需要指定所替换的编号
  iptables -t filter -R INPUT 2 -s 1.1.1.1 -d 2.2.2.2 -j ACCEPT
 -S  显示链表的所有用法
 -P  指定链表的默认行为
  iptables -t filter -P INPUT DORP
  建议:写白名单
 -N  自己定义链表;
  如果策略过多,我们需要将策略分类,这就用自己定义链表来分类;
  让后再将自己定义的链表调用在其他可以匹配数据流量的链表上;
  【如何去调用呢?】
 -X  也是清除自定义的链表
  iptables -t filter -X [chain]
 -v  可以查看策略匹配的数据包
 -vv  详细查看数据包匹配情况 -vvv
  iptables -t filter -L -v
 -Z  将数据包计数归零;
 -L  --list显示所选chain上面所有规则rule
 -F  清空制定chain上面所有规则
 -E  替换chain的名称;
 ------------------------------------------
 -p  udp icmp tcp  esp ah
 -s
 -d
 -j  jump  DROP ACCEPT REJECT SNAT DNAT MARK
 -i  进入的网卡
 -o 出去的网卡
 -c 设置收发数据包的警告值
 -n 不做解析
 --line-number 显示策略行号
 -f  TCP协议的标签 -- syn ack fin rst pus ...
 【大多数进行数据匹配的参数,都可以使用 !取反;】

Linux基础:Day05的更多相关文章

  1. Linux基础练习题(二)

    Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...

  2. 大数据每日干货第四天(linux基础之一目录结构与常用命令)

           为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...

  3. Linux课程实践一:Linux基础实践(SSH)

    一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...

  4. 还是不想改报告,伊阿忆啊哟-Linux基础继续

    hi 虽然今天是最最美好的周六(前不着工作日后不着工作日),但老子还要来改报告,但额就是不想改,你拿我有啥办法啊... 争取完结Linux基础 一.Linux常用命令(三) 4.帮助命令 4.1 帮助 ...

  5. 原来今天是感恩节-Linux基础继续&MySQL和PHP

    hi 原来今天是感恩节.虽然一直没有过这个节日的习惯,但仅仅是听到感恩的消息,都能想到一幅幅画面.愿大家安好! 下午开题会议还是有所收获,悄悄的,就变向那个不喜欢自己的人了. 一.Linux基础(二) ...

  6. 买错的电影票,含着泪也得看-LAMP搭建&Linux基础

    hi 没说过,上周五室友过生请客,在龙湖里吃嗨了喝爽了,回去的路上侃侃而谈.说好的这周一起去看年内最后的大片,火星救援的,谁知道老子眼神不好,买错了电影的时间...把周六的约定提前到了今儿个下午,ma ...

  7. Linux基础3(文件权限)

    文件权限 1.普通权限 (登陆用户对文件或目录的读写执行的权限) 普通权限对管理员用户无效 文件和目录 都有4中类型的用户u 所有者 : 文件.目录的创建者g 所属组 : 文件.目录属于的用户组o 其 ...

  8. Linux课程实践一:Linux基础实践(基础操作)

    一.软件源维护 1. 基本操作 (1)查看源列表 sudo vim /etc/apt/sources.list deb:二进制软件安装包 deb-src:源码包 (2)备份软件源列表 sudo cp ...

  9. 实践一:Linux基础实践

    一.Linux基础实践 1.1 1. 掌握软件源的维护方法,配置系统使用软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法. 这部分内容在许多学长学姐的报告里都有很详细的讲解,我在此就不赘述 ...

  10. Linux基础精华

    Linux基础精华 (继续跟新中...) 常用命令: Linux shell 环境 让你提升命令行效 率的 Bash 快捷键 [完整版] 设置你自己的liux alias Linux的Find使用 L ...

随机推荐

  1. FSBPM流程引擎(002)之表单+自定义流程挂载到引擎

    本章节介绍如何将实际业务的表单和自定义流程挂载到FSBPM流程引擎上. 首先进入引擎交互界面: 点击创建:->出差申请 然后根据实际的业务输入对应的数据项即可,比如[姓名,部门,开始时间,结束时 ...

  2. 在vscode中怎样debug调试go程序

    随着互联网时代的飞速发展,我们编码使用的开发利器也在不断更新换代,古话说工欲善其事必先利其器,对于Java开发者而言,eclipse和idea这两款神器各有千秋,因自己的爱好可以选取不同的IDE,但是 ...

  3. 2018 巅峰极客CTF misc writeup

    flows 拿到一个pcap包,用wireshark打开,发现是USB协议,尝试在kali下使用tshark提取,提取失败,发现异常.回到wireshark分析数据.在其中一个数据包中发现了tip 把 ...

  4. Natas9 Writeup(命令注入)

    Natas9: 审计源码,发现关键代码: $key = ""; if(array_key_exists("needle", $_REQUEST)) { $key ...

  5. idea 新建java类自动补充创建人,创建时间,版本等..

    1.先进入 File 2.进入 Editor 找到 File and Code Templates 并点击 3.右侧点击 lncludes  4.第二项 File Header  /** * @aut ...

  6. linux环境下的时间编程

    Linux下提供了丰富的api以供开发者们处理和时间相关的问题.然而这些接口看似各自为政实则有有着千丝万缕的联系,在学习和时间中引发了各种各样的混乱.因此时间处理成为了许多Linux开发者的梦魇,遇到 ...

  7. go:内置函数 | 闭包 | 数组 | 切片 | 排序 | map | 锁

    内置函数 1.close: 主要是用来关闭channel 2.len:用来求长度,比如string.array.slice.map.channel 3.new与make都是用来分配内存 new用来分配 ...

  8. Django 配置使用日志

    一. Django中使用日志 Django中使用日志其实非常简单,只需要在项目使用的配置文件中(如果没有自定义,那么就是settings.py中)加以下设置即可,同时可以根据自己的需求进行修改: # ...

  9. [Docker6] Docker compose多容器运行与管理

    六.Docker compose docker compose就是通过yml文件来定义和运行多个容器docker应用程序的工具,三步过程就能跑起一个compose: 定义应用程序的环境(yml中) 定 ...

  10. JSP(一)----入门学习

    ##  JSP 1.概念: *  Java  Server  Pages:java服务端页面 *  可以理解为:一个特殊的页面,其中既可以直接定义html标签,又可以定义java代码 2.原理 *  ...