icmp

科学地上网

拥有回忆 提交于 2019-12-05 17:07:07
·Vultr无法ping问题解决:ping的时候用的是ICMP协议,需要在Vultr服务器的防火墙规则中开启ICMP协议,等待几分钟后即可ping通 来源: https://www.cnblogs.com/bobbycheng/p/11935250.html

网络相关的命令工具研究报告

橙三吉。 提交于 2019-12-05 15:21:08
对于Linux下ifconfig命令的随笔 我们知道,linux下有很多命令,大体上可以分为如下几类: 文件管理 文档编辑 文件传输 磁盘管理 磁盘维护 网络通讯 系统管理 系统设置 备份压缩 设备管理 我们现在具体分析一下网络通讯里头的一个命令:ping。 1.ping命令有什么作用 Ping是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中Ping是一个十分好用的TCP/IP工具。它主要的功能是用来检测网络的连通情况和分析网络速度。 2.ping命令背后的ICMP协议 Linux ping命令用于检测主机。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。所以,在进一步说明ping命令之前,我们不妨先了解下ICMP协议。 2.1为什么会有ICMP协议? 在IP通信中,经常有数据包到达不了对方的情况。原因是,在通信途中的某处的一个路由器由于不能处理所有的数据包,就将数据包一个一个丢弃了。或者,虽然到达了对方,但是由于搞错了端口号,服务器软件可能不能接受它。这时,在错误发生的现场,为了联络而飞过来的信鸽就是ICMP 报文。在IP 网络上,由于数据包被丢弃等原因,为了控制将必要的信息传递给发信方。 ICMP 协议是为了辅助IP 协议,交换各种各样的控制信息而被制造出来的。可以说

ip网络抓包分析(2)

China☆狼群 提交于 2019-12-05 15:20:51
②UDP协议 Source port:52343是端口号(用来传输数据包的端口) Destination port:45448是目的端口号(用来数据包将要被传输到的端口) Length:73是数据包字节长度 Checksum:0xb4b0是数据段的校验和( 用来确保 UDP首部和数据部分的完整性) 如图可知 UDP是不分片的 三、网络层 ①IP报文 Version是版本:4 Header Length是长度:20字节 Differentiated Services Field就是区域服务:0x00 Total Length是总长度:20 Identification位标识:0x2220(8736) Flags是TCP标志:含6种标志;ACK:确认序号有效;SYN:同步序号用来发起一个连接;FIN:发端完成发送任务;RST:重新连接;PSH:接收方应该尽快将这个报文段交给应用层;URG:紧急指针(urgentpointer)有效; ②ARP协议 当一台主机把以太网数据帧发送到位于同一个局域网上的另一台主机时,是根据以太网地址来确定目的接口的, ARP协议需要为IP地址和MAC地址这两种不同的地址形式提供对应的关系。上面是个ARP请求报文。包含了目的主机IP地址。 ③ICMP协议 ICMP是网络报文控制协议,他是一个对IP协议的补充协议。允许主机或路由器报告差错情况和异常状况

ping

我的梦境 提交于 2019-12-05 15:15:08
ping可以说是ICMP的最著名的应用,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。 例如:当我们某一个网站上不去的时候。通常会ping一下这个网站。ping会回显出一些有用的信息。一般的信息如下: ping这个单词源自声纳定位,而这个程序的作用也确实如此,它利用ICMP协议包来侦测另一个主机是否可达。原理是用类型码为0的ICMP发请 求,受到请求的主机则用类型码为8的ICMP回应。 ping程序来计算间隔时间,并计算有多少个包被送达。用户就可以判断网络大致的情况。我们可以看到, ping给出来了传送的时间和TTL的数据。 来源: https://www.cnblogs.com/123asdasdaz/p/11930318.html

wireshark icmp、mac地址分析

拟墨画扇 提交于 2019-12-05 11:41:31
ICMP 1表明源 ip地址和目的 ip地址 icmp 协议是 icmp 2类型是 0表明这是回显响应 3代码为 0 4检验和为 0x4d4e 5序列号为 0x000d与请求包相同 6请求帧为 126帧 mac帧格式分析 mac帧格式是有5部分组成,由目的mac和源mac以及类型组成、数据、fcs 1:目的mac f8:28:19:da:de:a7 2: 源 mac d8:9a:34:35:ef 3: 类型为IPv4 4、数据字段 (46-1500):正式名称是MAC客户数据字段最小长度64 字节-18字节的首部和尾部 = 数据字段的最小长度 5、FCS字段 (4 字节):当数据字段的长度小于 46 字节时,应在数据字段的后面加入整数字节的填充字段,以保证以太网的MAC帧长不小于64 字节 MAC 地址分析 MAC地址的长度为48位(6个字节),通常表示为12个16进制数,d8:9a:34:35:ef就是一个MAC地址,其中前6位16进制数d8:9a_34代表网络硬件制造商的编号,它由IEEE(电气与电子工程师协会)分配,而后6位16进制数34:35:ef代表该制造商所制造的某个网络产品(如网卡)的系列号 来源: https://www.cnblogs.com/loveshit/p/11922925.html

网络协议抓包分析(3)

泪湿孤枕 提交于 2019-12-05 11:38:41
ICMP协议 ICMP是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。在实际传输中的数据包结构:20字节IP首部 + 8字节ICMP首部+ 1472字节<数据大小>38字节。 ICMP报文格式如图,IP首部(20字节)+8位类型+8位代码+16位校验和+(不同的类型和代码,格式也有所不同)。 让wireshark开始抓包,用icmp过滤,打开cmd窗口,输入ping目的域名,ping默认发4个请求报文,所以这里会抓取到8个报文 1.protocol为协议类型,ICMP; 2.Type:8 类型8, 占一字节,标识ICMP报文的类型,此处为请求报文 3.Code:0 占一字节,表示对应ICMP报文的代码。它与类型字段一起共同表示了ICMP报文的详细类型 4.Checksum(校验和):0x4d24[correct];是对包括ICMP报文数据部分在内的人整个ICMP数据包的校验和,以检验报文在传输过程中是否出现了差错。其计算方法与IP报头中的校验和计算方法是一样的 5.Identifier:1 (0x0001) 两字节,用于标识本ICMP进程,但仅适用于回显请求和应答ICMP报文,对于目标不可达ICMP报文和超时ICMP报文等,该字段的值为0 6.Sequence number:3553

Why aren't ARP or ICMPv6 packets processed by a Linux TAP device

一世执手 提交于 2019-12-05 10:47:48
I am opening a TAP device using p->fd = open("/dev/net/tun", O_RDWR); // skipping error handling code ifr.ifr_flags = IFF_TAP | IFF_ONE_QUEUE | IFF_NO_PI; strncpy(ifr.ifr_name, p->name, IFNAMSIZ-1); result = ioctl(p->fd, TUNSETIFF, &ifr); // skipping error handling and setting ipv4 address & netmask code ifr.ifr_flags = (IFF_UP | IFF_RUNNING); result = ioctl(dummySock, SIOCSIFFLAGS, &ifr); The problem I am facing is when an application (say mozilla) wants to send out a packet via the tap device, it needs to get the dst mac address. So the kernel sends out an ARP request. The application I am

每天一个linux命令(15):tail 命令

前提是你 提交于 2019-12-05 08:58:57
tail 命令 从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. 1. 命令格式 ; tail[必要参数][选择参数][文件] 2. 命令功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件 。 3. 命令参数: -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c<数目> 显示的字节数 -n<行数> 显示行数 --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束. -q, --quiet, --silent 从不输出给出文件名的首部 -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒 4. 使用实例: 实例1:显示文件末尾内容 命令: tail -n 5 log2014.log 输出: [root@localhost test] # tail -n 5 log2014.log 2014-09 2014-10 2014-11 2014-12 ============================== [root @localhost test] # 说明: 显示文件最后5行内容 实例2:循环查看文件内容 命令: tail

【抓包工具】tcpdump

我只是一个虾纸丫 提交于 2019-12-05 07:17:09
tcpdump - dump traffic on a network 根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。 tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具。 tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具。 tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的Linux系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。 1. 默认启动tcpdump [root@oldboy ~]# tcpdump tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture

iptables_超解

 ̄綄美尐妖づ 提交于 2019-12-05 06:35:46
查询: -t选项,指定要操作的表,使用-L选项,查看-t选项对应的表的规则,-L选项的意思是,列出规则,所以,上述命令的含义为列出filter表的所有规则 显示出了3条链INPUT链、FORWARD链、OUTPUT链,每条链中都有自己的规则,上图中可以看出,INPUT链、FORWARD链、OUTPUT链都拥有"过滤"的能力,所以,当我们要定义某条"过滤"的规则时,我们会在filter表中定义,但是具体在哪条"链"上定义规则呢?这取决于我们的工作场景。比如,我们需要禁止某个IP地址访问我们的主机,我们则需要在INPUT链上定义规则。报文发往本机时,会经过PREROUTING链与INPUT链,所以,如果我们想要禁止某些报文发往本机,我们只能在PREROUTING链和INPUT链中定义规则,但是PREROUTING链并不存在于filter表中,所以,我们只能在INPUT链中定义 注意:其他表可以类似查询 iptables -t raw -L iptables -t mangle -L iptables -t nat -L [root@#quan#Better ~]$iptables -t raw -L Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy