icmp

用Python构造ARP请求、扫描、欺骗

核能气质少年 提交于 2019-11-30 16:17:29
目录 0. ARP介绍 1. Scapy简述 2. Scapy简单演示 2.1 安装 2.2 构造包演示 2.2.1 进入kamene交互界面 2.2.2 查看以太网头部 2.2.3 查看 ICMP 头部 2.2.4 查看 IP 头部 2.2.5 查看 TCP/UDP 头部 2.2.6 简单构造 ICMP 包 2.2.7 简单 构造 ARP 包 3. 构造 ARP 请求 4. 构造 ARP 扫描 5. 构造 ARP 欺骗 0. ARP介绍 首先,先回忆下 TCP/IP 模型,从下到上分为:数据链路层、网络层、传输层、应用层,那么 ARP 到底属于哪一层?有人会说是网络层,但实际是属于数据链路层,只不过还要为网络层提供服务。 ARP 的主要用途是 IP(32bit) 地址到物理 MAC(48bit) 地址的映射关系。别看表面主机知道了远端IP地址就可以通信,实则先要知道远端的MAC地址(借助ARP),通过网卡到交换机构建数据链路层通信,再通过上层进行数据交互。 另外,你可能会了解到代理ARP、免费ARP、RARP这些,其中你都能搞明白他们工作原理是怎么样的嘛? 这里咱们简单回顾一下: 代理ARP:一般路由器通常充当代理角色,代替远端主机响应本地的 ARP 请求; 免费ARP:一种特殊 ARP 请求报文,用于检测 IP 冲突、硬件地址变更触发免费ARP; RARP:与 ARP 相反

iptables配置详解

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-30 12:14:43
一:iptables【详解】 防火墙的名字其实是natfilter,iptables是个工具,防火墙下默认是四个表五个链,表分为:filter、nat、mangle、raw,链分别为:其中最常用的是filter表! nat:此规则表拥有 PREROUTING 和 POSTROUTING 两个规则链,主要功能为进行一对一、一对多、多对多等网址转换工作(SNAT、DNAT),这个规则表除了作网址转换外,请不要做其它用途。 mangle:此规则表拥有 PREROUTING、FORWARD 和 POSTROUTING 三个规则链。除了进行网址转换工作会改写封包外,在某些特殊应用可能也必须去改写封包(TTL、TOS)或者是设定 MARK(将封包作记号,以进行后续的过滤),这时就必须将这些工作定义在 mangle 规则表中,由于使用率不高,我们不打算在这里讨论 mangle 的用法。 filter: 这个规则表是默认规则表,拥有 INPUT、FORWARD 和 OUTPUT 三个规则链,这个规则表顾名思义是用来进行封包过滤的处理动作(例如:DROP、 LOG、 ACCEPT 或 REJECT),我们会将基本规则都建立在此规则表中。 1:iptables【语法】 iptables -t [表] -I [链名] -p [协议] --dport [ 端口号] -s [来源ip] -d [目标ip]

icmp协议学习笔记

喜夏-厌秋 提交于 2019-11-30 12:14:08
数据报格式 发送icmp差错报文时,报文始终包含IP首部和产生icmp差错报文的IP数据报的前8个字节。 数据返回码含义 不会产生icmp差错报文,原因是为了防止出现广播风暴 icmp差错报文 目的地址是广播地址 作为链路层广播的数据报 不是ip分片的第一片 源地址不是单个主机的数据报,即源地址不能为零地址,环回地址,广播地址或多播地址 icmp时间戳请求与应答 请求端填写发起时间戳,然后发送报文。应答系统收到请求报文时填写接收时间戳,再发送应答时填写发送时间戳 icmp差错报文UPD端口不可达的报文格式 来源: https://my.oschina.net/wangzongtao/blog/3110672

nmap

前提是你 提交于 2019-11-30 09:49:59
nmap nmap [ <Scan Type> ...] [ <Options> ] { <target specification> } 版本:nmap-7.70-1.x86_64.rpm 命令行格式: https://svn.nmap.org/nmap/docs/nmap.usage.txt (总是最新) 目标格式 nmap命令行中中除了选项或选项参数其余均为目标主机格式。 TARGET SPECIFICATION: Can pass hostnames, IP addresses, networks, etc. Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 -iL <inputfilename>: Input from list of hosts/networks -iR <num hosts>: Choose random targets --exclude <host1[,host2][,host3],...>: Exclude hosts/networks --excludefile <exclude_file>: Exclude list from file 当扫描目标是hostname时nmap会通过DNS解析地址。如果不特别指出--resolve

TCP/IP协议栈

可紊 提交于 2019-11-30 06:15:52
文章目录 一、参考书籍 二、必须掌握的内容 1.TCP/IP协议体系的认知 2.数据链路层 3.网络层 4.传输层 5.应用层 三、常见面试题目 1.分层的概念 2.数据链路层 3.网络层 (1)IP协议 (2)ICMP协议 四、传输层 1.UDP协议 2.TCP协议 五、应用层 1.DNS 2.http基本格式 六、参考 一、参考书籍 (1)TCP/IP详解 卷1:协议 (2)计算机网络:自顶向下方法 二、必须掌握的内容 1.TCP/IP协议体系的认知 (1)分层。一部分处于用户态,一部分处于内核态。数据链路层,网络层,传输层封装于操作系统内核态。应用层存在于操作系统的用户空间,包括DNS,FTP,HTTPs,HTTP,工作中接触较多的是应用层的部分。但其它层的原理必须理解,面试考察。 (2)层与层之间下层对上层是透明的,传输在每一层是对等的。 2.数据链路层 (1)以太网帧的格式。 (2)MTU(最大传输单元)的概念。 (3)ARP协议和RARP协议(地址协议和逆地址协议,网卡MAC地址和IP地址互查机制)(网络层和链路层的中间层)ARP报文格式,查询原理,缓存机制 3.网络层 (1)掌握IP首部格式:如16位分片标识、DF不分片标志、MF更多分片标志、13位片偏移、8位生存时间TTL、16位的首部检验和等等。 (2)掌握如何IP分片:如总长大于MTU值,画分片情况

smsniff过滤规则

一个人想着一个人 提交于 2019-11-30 03:46:50
smsniff过滤规则 [include|exclude] : [local|remote|both] : [tcp|udp|tcpudp|icmp|all] : [IP Range|Ports Range] [显示|排除] : [本地|远程|双向] : [tcp|udp|tcpudp|icmp|all] : [ip地址范围|端口范围] include:remote:tcp:80 include:both:udp:53-139 exclude:both:tcpudp:192.168.0.1-192.168.0.100 来源: https://www.cnblogs.com/wangyinlon/p/11553746.html

抓包工具 tcpdump 用法说明

爷,独闯天下 提交于 2019-11-29 23:23:13
tcpdump采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上。 不带任何选项的tcpdump,默认会抓取第一个网络接口,且只有将tcpdump进程终止才会停止抓包。 例如: shell> tcpdump -nn -i eth0 icmp 下面是详细的tcpdump用法。 1.1 tcpdump选项 它的命令格式为: tcpdump [ -DenNqvX ] [ -c count ] [ -F file ] [ -i interface ] [ -r file ] [ -s snaplen ] [ -w file ] [ expression ] 抓包选项: -c:指定要抓取的包数量。注意,是最终要获取这么多个包。例如,指定"-c 10"将获取10个包,但可能已经处理了100个包,只不过只有10个包是满足条件的包。 -i interface:指定tcpdump需要监听的接口。若未指定该选项,将从系统接口列表中搜寻编号最小的已配置好的接口(不包括loopback接口,要抓取loopback接口使用tcpdump -i lo), :一旦找到第一个符合条件的接口,搜寻马上结束。可以使用'any'关键字表示所有网络接口。 -n:对地址以数字方式显式,否则显式为主机名,也就是说-n选项不做主机名解析。 -nn:除了-n的作用外,还把端口显示为数值,否则显示端口服务名。

TCPDUMP抓包学习

时光怂恿深爱的人放手 提交于 2019-11-29 21:04:55
一、抓包基础 1、抓网卡ens33 的包,有多大抓多大,然后保存到a.cap中 [root@localhost ~]# tcpdump -i ens33 -s 0 -w a.cap tcpdump: listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes 2、读取a.cap文件 [root@localhost ~]# tcpdump -r a.cap reading from file a.cap, link-type EN10MB (Ethernet) 18:30:13.453516 IP localhost.localdomain.ssh > 192.168.10.1.sicct: Flags [P.], seq 1710739872:1710740004, ack 930202420, win 532, length 132 18:30:13.453754 IP 192.168.10.1.sicct > localhost.localdomain.ssh: Flags [.], ack 132, win 255, length 0 18:30:14.379791 IP 192.168.10.1 > localhost.localdomain: ICMP echo request,

Trying to ping linux vm hosted on azure does not work [closed]

↘锁芯ラ 提交于 2019-11-29 18:28:09
As title, how can I ping my machine to do some basic network testing? I have created a new VM but pinging it's public address returns request timeout. Ping is blocked by default for Azure VMs for security reasons ( source ). You could either allow ICMP by configuring appropriate firewall rules or Use port pings instead of ICMP to test Azure VM connectivity . 来源: https://stackoverflow.com/questions/34669632/trying-to-ping-linux-vm-hosted-on-azure-does-not-work

使用 MTR 诊断网络问题

隐身守侯 提交于 2019-11-29 15:39:47
使用 MTR 诊断网络问题 每日一贴 • 2015年5月26日 • 3 条评论 MTR 是一款强大的网络诊断工具,网络管理员使用 MTR 可以诊断和隔离网络问题,并且为上游 ISP 提供有用的网络状态报告。 MTR 是传统 traceroute 命令的进化版,并且可以提供强大的数据样本,因为他集合了 traceroute 和 ping 这两个命令的精华。本文带您深入了解 MTR ,从数据如何生成,到如果正确理解报告样本并得出相应的结论。 关于网络诊断技术的基本理论请参考 network diagnostics .如果您怀疑您的 Linux 系统有其他问题,请参考 system diagnostics 。最后,我们假定您已经掌握了 getting started guide (入门指南) 。 网络诊断相关的背景知识 网络诊断工具 例如 ping traceroute mtr 都使用的 “ICMP” 包来测试 Internet 两点之间的网络连接状况。当用户使用 ping 命令 ping 网络上的主机后, ICMP 包将会发送到目的主机,然后在目的主机返回响应。这样,就可以得知本机到目的主机 ICMP 包传输所使用的往返时间。 相对于其他命令仅仅收集传输路径或响应时间,MTR 工具会收集更多的信息,比如 连接状态,连接可用性,以及传输路径中主机的响应性。由于这些额外的信息