ttl

网络相关的命令工具研究报告---wireshark抓包工具使用研究

让人想犯罪 __ 提交于 2019-12-05 17:46:43
在网络中我们经常使用到一些命令,而网络传输所用的大多数都是数据流,那么我们能否使用一些工具来查看网络中的数据流到底是什么样子的呢? 使用Wireshark抓取数据包: (1) 在linux下使用PING命令,抓取ping www.baidu.com后的若干个数据包分析。写出源ip地址,目的ip地址,IP标识,总长度,TTL值这几项。 先linux下使用PING命令:ping www.baidu.com 然后分析网络中报文内容,获得源地址:192.168.0.103,目的地址:180.101.49.12;在数据包中展示如下: 然后查看IP标识Identification: 0x6044 (24644): 再查看总长度60: 最后查看TTL值: (2) 通过筛选得到ARP数据包,分析某个ARP数据包,硬件类型,协议类型,发送源IP地址,发送源MAC地址,目的MAC地址,目标主机IP地址。 硬件类型Ethernet(1): 协议类型:Ipv4; 发送源IP地址192.168.0.103: 发送方MAC地址(1c:4d:70:ba:a8:6f): 接收方IP地址(192.168.0.1): 接收方MAC地址 (f4:83:cd:33:e9:2b): (3) Tracert跟踪百度 然后在linux下使用traceroute命令,跟踪百度www.baidu.com,用wireshark

对比常见两种指令的执行流程以及背后的原理

此生再无相见时 提交于 2019-12-05 15:42:48
在一次偶然的过程中,我发现访问网址速度很快,但是做路由追踪就非常慢,通过查阅资料了解了两种不同方式的执行流程以及背后的原理 首先,数据包在网络上传递的过程类似于平信在邮局间传递的过程。当你寄出一封信的时候,它先通过寄出方的街道邮局转运到区县邮,再到市邮局,再到省局,到收件方省局……你trace route的时候看到经过的地址,就是这些中间转运的邮局(路由器)的地址。 现在再谈谈ping ,ping和tracert都是基于 icmp协议 的,在你ping的时候,电脑会发出一个icmp echo request报文,目标设备在收到这个报文后,会返回icmp echo reply报文,这个过程耗时大概就是数据在网络中来回传输的时间,很快。 但是你也会发现,如果丢包或者ping一个不存在的地址的时候,会等一会儿才出结果,这是因为ping应用无法判断是丢包了还是延时比较大,只能等等看,通常最多等2s,如果还收不到回包,就认为丢包了。 而要说tracert,就要先说TTL ,TTL(time to live)是IP报文头部的一个标记,最开始的时候,大家想用它来记录IP包在网络中可以存活的剩余时间,用来避免拥塞和环路,但是后来大家发现算时间太麻烦了,于是决定每经过一次路由器(邮局)就把这个数值减1,当减到0的时候,就把这个数据包丢弃,并 以自己的IP为源地址 向发出这个包的地址回应一个icmp

TTL (生存时间值)

﹥>﹥吖頭↗ 提交于 2019-12-05 15:34:15
TTL是 Time To Live的缩写,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。TTL是IPv4包头的一个8 bit字段。 在IPv4包头中TTL是一个8 bit字段,它位于IPv4包的第9个字节。如下图所示,每 一行表示 32 bit(4字节),位从0开始编号,即0~31。 ipv4报文头部的TTL字段 TTL的作用是限制IP数据包在计算机网络中的存在的时间。TTL的最大值是255,TTL的一个推荐值是64。 虽然TTL从字面上翻译,是可以存活的时间,但实际上TTL是IP数据包在计算机网络中可以转发的最大跳数。TTL字段由IP数据包的发送者设置,在IP数据包从源到目的的整个转发路径上,每经过一个路由器,路由器都会修改这个TTL字段值,具体的做法是把该TTL的值减1,然后再将IP包转发出去。如果在IP包到达目的IP之前,TTL减少为0,路由器将会丢弃收到的TTL=0的IP包并向IP包的发送者发送 ICMP time exceeded消息。 TTL的主要作用是避免IP包在网络中的无限循环和收发,节省了网络资源,并能使IP包的发送者能收到告警消息。 TTL 是由发送 主机 设置的,以防止数据包不断在 IP 互联网络上永不终止地循环。转发 IP 数据包时,要求路由器至少将 TTL 减小 1。 TTL值的 注册表 位置 HKEY_LOCAL_MACHINE \SYSTEM

Centos 7 配置静态IP

寵の児 提交于 2019-12-04 17:52:57
前言 最近用 VM 虚拟机安装了 Centos7,采用了最新安装模式,现在记录一下如何配置静态IP 第一步:将网关配置成 dhcp(动态ip模式) [root@localhost network-scripts]# ls /etc/sysconfig/network-scripts/ifcfg-* /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-lo # 备份网卡 [root@localhost network-scripts]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak [root@localhost network-scripts]# yum install -y vim [root@localhost network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 修改内容如下: BOOTPROTO=dhcp ONBOOT=yes 重启网卡 [root@localhost network-scripts]# service network restart

TTL vs default_time_to_live which one is better and why?

ぃ、小莉子 提交于 2019-12-04 15:08:09
Requirement is simple: we have to create a table which will have only 24 hours of data. We have two options Defile TTL with each insert Make table property default_time_to_live for 24 hours. I have general idea about both the things but internally which one will be helpful to deal with tombstones? or both will generate same amount of tombstones? Which one will be better and why any reference link will be appreciated. If a table has default_time_to_live on it then rows that exceed this time limit are deleted immediately without tombstones being written. This will not affect rows / columns that

my redis keys do not expire

泪湿孤枕 提交于 2019-12-03 17:15:08
问题 My redis server does not delete keys when the time-to-live reaches 0. Here is a sample code: redis-cli >SET mykey "ismykey" >EXPIRE mykey 20 #check TTL >TTL mykey >(integer) 17 > ... >TTL mykey >(integer) -1 #mykey chould have expired: >EXISTS mykey >(integer) 1 >#oh still there, check its value >GET mykey >"ismykey" If i check the info return by redis, it says 0 keys were expired. Any idea? thanks. 回答1: Since you're doing a '...' it's hard to say for sure, but I'd say you're setting mykey

my redis keys do not expire

我的未来我决定 提交于 2019-12-03 11:40:54
My redis server does not delete keys when the time-to-live reaches 0. Here is a sample code: redis-cli >SET mykey "ismykey" >EXPIRE mykey 20 #check TTL >TTL mykey >(integer) 17 > ... >TTL mykey >(integer) -1 #mykey chould have expired: >EXISTS mykey >(integer) 1 >#oh still there, check its value >GET mykey >"ismykey" If i check the info return by redis, it says 0 keys were expired. Any idea? thanks. Since you're doing a '...' it's hard to say for sure, but I'd say you're setting mykey during that part, which will effectively remove the expiration. From the EXPIRE manual The timeout is cleared

Redis store key without a value

浪子不回头ぞ 提交于 2019-12-03 05:23:24
When using the redis expire commands like SETEXP & TTL , there are scenarios in which there is no need for the key to hold a value at all, because the time to live acts as such. However, redis requires any key to have a value. What would be the most reasonable value to use - if you don't ever want to read it? Who said that you should actually store anything in redis key? Empty string "" is a perfectly valid value for a redis key, and it's a shortest possible one: > SET foo "" OK > GET foo "" > BITCOUNT foo (integer) 0 I would store one byte of data that could also be broadly interpreted as

网络基本功(十四):细说诊断工具ping

匿名 (未验证) 提交于 2019-12-02 22:56:40
转载请在文首保留原文出处:EMC中文支持论坛 https://community.emc.com/go/chinese ping的工作原理很简单,一台网络设备发送请求等待另一网络设备的回复,并记录下发送时间。接收到回复之后,就可以计算报文传输时间了。只要接收到回复就表示连接是正常的。耗费的时间喻示了路径长度。重复请求响应的一致性也表明了连接质量的可靠性。因此,ping回答了两个基本的问题:是否有连接?连接的质量如何?本文主要讨论这两个问题。 正常的ping操作主要是两个特定的ICMP消息,ECHO_REQUEST和ECHO_REPLY。理论上,所有TCP/IP网络设备都应当通过返回报文来响应ECHO_REQUEST,但实际上并不总是如此。 ping的解析: 大多数操作系统版本,会一直发送ECHO_REQUESTs,直到中断为止。例如: bsd1# ping www.bay.com PING www.bay.com (204.80.244.66): 56 data bytes 64 bytes from 204.80.244.66: icmp_seq=0 ttl=112 time=180.974 ms 64 bytes from 204.80.244.66: icmp_seq=1 ttl=112 time=189.810 ms 64 bytes from 204.80.244.66:

Redis Database TTL

女生的网名这么多〃 提交于 2019-12-02 13:16:34
问题 Is there anyway to create a Redis database where keys HAVE TO expire after a certain time? I know I can expire an individual key using the EXPIRE command but since I am expiring every key after a certain time anyways, it would be nice to have this behavior specified in the Redis config file. 回答1: No, Redis (up to and including v3.2) does not provide the means for automatically setting the TTL of newly-created keys. You have to set it explicitly for each key you create. 来源: https:/