当前位置: 首页 > news >正文

snort和scapy以及hping

snort
这是一个很好的开源的入侵检测软件,基于libpcap,可以步在路由器,可以步在交换机镜像旁路,也可以步在自己的linux机器上,配制简单,策略丰富,在非加密链路上,甚至可以实现七层内容监控。最简单的学习方式就是阅读它自带的rule,比如最简单的/etc/snort/rules/icmp.rules,它的第一策略行是:
alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"...
之后我相信你肯定会找HOME_NET以及EXTERNAL_NET这两个环境变量是怎么回事...或者,对于实用主义者来讲,直接在最上面加一行:
alert ip any any -> any any (msg:"ICMP ISS Pinger";) (vi中yy一行然后p上即可,修改掉所有环境变量,改成any,把icmp改成ip)
然后启动snort,一会就会发现/var/log/snort/alert文件爆满了...当你删除了爆满文件之后,你肯定就要想办法不让它爆满了,如何做呢?学习规则的格式以及写法,监控你真正需要的,过滤掉不需要的,当你完成这些,那你就是snort高手了。
scapy
对于想自己构造数据包并且仅仅抱着玩的态度的人来说,scapy是比hping更好的选择,它基于python,这就是说它的语法和python一致,可以自己写python函数来定义包,但是这也决定了它很慢,只能玩,或者作一些一次性的事,比如arp-mac欺骗。以下的命令行发送了一个自己定义的udp包:
sr(IP(src="11.22.33.44", dst="192.168.188.248", flags=0, frag=0, proto=17)/UDP(sport=1111, dport=2222, len=123))
sr是什么?src,frag,dport等字段为何是这种名字而不是别的呢?首先shell下敲入scapy:
Welcome to Scapy (0.9.17.1beta)
>>>
接着,很显然,敲入help(),没有得到什么信息,通过man之后,敲入ls(),ls(IP),ls(UDP)...lsc(),lsc(sr)...一切都是python的东西。接下来scapy就没有什么难理解的了,只剩下乐趣了。也许你可以在局域网发一个:
sendp(Ether(dst=tmac)/ARP(op="who-has", psrc=你想截获的IP, pdst=target))
好玩吗?需要注意的事,mac欺骗并不是那么好做的,你可以试图将目的地址为其它主机的包骗到你的机器,但是常规的协议栈还是会丢弃或者转发的,数据包根本就到不了用户态,怎么办呢?还是靠抓包,比如依靠tcpdump或者ethereal等工具,或者,真正的猛士可以自己修改协议栈,将自己的协议栈也欺骗掉。
hping

...

相关文章:

  • 超详细的2440中断机制分析!
  • PowerDesigner使用教程
  • 读《后汉演义》之王莽:是古非今
  • JSON、闭包和原型----透视Javascript语言核心
  • javascript小小技巧
  • opensuse安装记录
  • 编程之美 2.12 快速寻找满足条件的两个数 解法三证明 (算法导论 第二版 2.3-7 在n个元素的集合S中找到两个和为x的元素)...
  • 几本好书,地铁上打发的收获--之二(还有其它)
  • 打鸡蛋和工作习惯
  • 几本好书,地铁上打发的收获
  • daemon函数实现原理 守护进程
  • 关于时间管理的一些沉淀
  • jquery-ajax、struts2、json数据问题
  • 说说嵌入式调试方式
  • 创建全文索引的sql语句和测试sql语句执行时间
  • [笔记] php常见简单功能及函数
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • extjs4学习之配置
  • Github访问慢解决办法
  • Hibernate最全面试题
  • Idea+maven+scala构建包并在spark on yarn 运行
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • jdbc就是这么简单
  • Mysql5.6主从复制
  • SOFAMosn配置模型
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 两列自适应布局方案整理
  • 前端设计模式
  • 实现简单的正则表达式引擎
  • 终端用户监控:真实用户监控还是模拟监控?
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • # .NET Framework中使用命名管道进行进程间通信
  • # Apache SeaTunnel 究竟是什么?
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (c语言)strcpy函数用法
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (转)菜鸟学数据库(三)——存储过程
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .Net Memory Profiler的使用举例
  • .Net Redis的秒杀Dome和异步执行
  • .NET 中 GetProcess 相关方法的性能
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .net6Api后台+uniapp导出Excel
  • .Net程序帮助文档制作
  • .NET企业级应用架构设计系列之结尾篇
  • [ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现
  • [ C++ ] STL---仿函数与priority_queue
  • [CF]Codeforces Round #551 (Div. 2)
  • [Delphi]一个功能完备的国密SM4类(TSM4)[20230329更新]
  • [Hibernate] - Fetching strategies
  • [javaSE] 看知乎学习工厂模式
  • [Jquery] 实现温度计动画效果