公司法
当前位置: 首页 法律大全

网络连接获得租约时间有什么用(当你有多块网卡会发生什么)

时间:2023-06-12 作者: 小编 阅读量: 1 栏目名: 法律大全

嵌入式工程师祖传DNA有了反应:“Itworkonmymachine”。对比客户端分别向127.0.0.1和192.168.81.198发起连接的截获情况。测试环境下mosquitto是不带任何参数的,想必可以传递参数、配置文件灵活的更改mosquitto的特性。注意到另外一台x86平台Linux系统上已经搭建好mosquitto,ps-aux查看mosquitto的启动参数,“mosquitto-c/etc/mosquitto/mosquitto.conf”。

IPv4地址集合里有两个特殊地址:0.0.0.0、127.0.0.1,你是否了解他们的用途?输入netstat -ano找到前面几行有LISTEN标注的行,它表示本地系统开放的TCP4服务,文稿里显示本地已开放38127、111、37681等端口,这些端口外部都能访问吗?为什么有些端口前面是0.0.0.0,有些却是127.0.0.1呢?

如果你能轻易回答上面的问题,你已经不是网络基础小白,可以跳过这篇文章,单如果你不能,我想下面的工程实践能给你解释清楚。 另外你还能学到我的排查思路

基本解释

127.0.0.1叫 本地环回地址 ,用于测试协议栈的正确性,它不依赖硬件上是否有接网卡,它不依赖硬件上是否有接网卡,相当于用一根看不见的网线将网卡的发送和接收相连接起来。

0.0.0.0叫 任意地址 ,若某以太网设备存在多块物理网卡,表示只要本地开放对应的端口服务,无论从哪个网卡发起连接请求都是允许的。 若想限制某服务只允许外部设备从指定网卡入口发起访问,则配置成具体网卡的IP地址,就如文稿插图箭头那行,8081端口只允许从IP地址为192.168.2.3的网卡入口发起。

在编写IPv4 TCP应用程序时候,执行绑定(bind)地址和端口组成服务,下图文稿INADDR_ANY参数最为常用,绑定“任意地址”。 本文接下来内容讲述,当绑定地址非INADDR_ANY时会引起什么现象、以及如何排查和解决

真实场景排查

我前些天搭建MQTT平台mosquitto时遇到个问题: 服务器只能向自己的环回地址 127.0.0.1地址发起连接,连接本地地址192.168.81.198则失败。问题的原因就与缺省路由有关。

编译好ARM平台下的mosquitto之后,我当然会在ARM上测试一服务是否正常,显然是成功的,同样我把测试程序拷贝到其它主机上运行,客户端提示不可连接(Unable to connect),服务器界面也没有任何异常信息打印。嵌入式工程师祖传DNA有了反应: “It work on my machine” 。首先两端都执行ping命令排查网络连接状态,排除防火墙、路由表的配置,都没看出明显异常。

接着我决定在服务器上再自己测试一次,只不过这次换成本地网卡地址。

strace登场!没抓到accept

注释掉客户端之前环回地址代码,修改HOST为本地网卡地址192.168.81.198,重新编译执行。

// #define HOST "localhost"// #define HOST "127.0.0.1"#define HOST "192.168.81.198"

嘿~同样提示Unable to connect,活久见,自己访问自己的服务居然也会失败! 莫非是权限不足被服务器拒绝导致? 为探寻服务器究竟做了什么,我用strace mosquitto重新启动服务器,试图抓取到应用程序执行轨迹, 屏幕有规律地滚动着epoll_wait信息,暗示服务器进入epoll循环。

在客户端答应Unable to connect时strace没抓取到服务器任何打破规律的系统调用,比如说TCP必须用到的accept。

为证明发生正常连接情况下,服务器会执行系统调用accept,我重新修改HOST为127.0.0.1后再次用strace抓取,果不其然看到accept的身影(你可在文稿图标注的步骤4中看到它)。

由此可知,当向网卡地址192.168.81.198发起连接时,服务器应用程序根本没收到协议栈的数据,接着我再打开Wireshark抓取TCP数据,探寻数据交互过程究竟发生了什么。

Wirshark登场!RST、ACK

Wireshark默认截获物理网卡数据,物理网卡是下图的wlp3s0,虽然实验向本地网卡地址192.168.81.198发起连接,而在实际上数据并没有“经过物理网卡”,在协议栈里路由选择后切换成环回地址的路由。

Wireshark操作界面选择抓取接口Loopback:lo。

对比客户端分别向127.0.0.1和192.168.81.198发起连接的截获情况。连接环回地址可成功完成三次握手( 对应序号21:SYN;22:SYN、ACK;23:ACK),向连接本地网卡连接却被复位(对应序号15:SYNC;16:RST、ACK)。

复位连接的原因要么是不存在此IP,要么服务器没启动、此端口上不存在服务,要么连接被防火墙过滤。鉴于前面已经排除防火墙可能,剩下的极有可能是本地服务器socket设置咯,输入 “netstat -ano | grep 1883” 查看MQTT监听端口状态。

原因找到了,本地监听地址是127.0.0.1:1883,而非0.0.0.0:1883,所以任何外部连接都被拒绝。

解决

怎么处理呢?测试环境下mosquitto是不带任何参数的,想必可以传递参数、配置文件灵活的更改mosquitto的特性。注意到另外一台x86平台Linux系统上已经搭建好mosquitto,ps -aux查看mosquitto的启动参数, “mosquitto -c /etc/mosquitto/mosquitto.conf” 。x86平台下的mosquitto.conf文件内容短小且没有任何注释信息,也没看到看似监听配置的关键词。

同目录下还有另一个文件 mosquitto.conf.example ,他的内容要丰富得多,有详细的介绍。

On systems that support Unix Domain Sockets, it is also possible to create a Unix socket rather than opening a TCP socket. In this case, the port number should be set to 0 and a unix socket path must be provided, e.g. listener 0 /tmp/mosquitto.sock

listener port-number [ip address/host name/unix socket path]

按照说明,重新编辑mosquitto.conf.example文件添加下面两行,配置文件传递给服务器应用程序解析,netstat查询到0.0.0.0:1883监听,最后连接本地地址192.168.81.198成功。

# mosquitto.conf.examplelistener 1883 0.0.0.0allow_anonymous true

    推荐阅读
  • 怎样烧红烧肉(家常红烧肉的做法)

    怎样烧红烧肉原料:精品五花肉、炖肉料包、葱、冰糖、茶叶。五花肉切条放入凉水中撇去血沫。焯水定型;捞出后晾凉切一样大的方块。锅中放少许油倒入白砂糖炒糖色。糖色的气泡由大变小迅速关火,倒入开水。加少许绍酒,加开水烧,熟得快,加入茶叶水,可以去腥味。改回炒锅大火,放冰糖,使汁粘稠即可出锅,香葱段点缀。

  • 2022杭州径山茶圣节时间、地点、活动一览

    最终集齐所有铜币的游客可至“大宋钱庄”兑换神秘礼物。今来茶韵生活01、陆羽说论坛为进一步挖掘径山茶宴有关历史文化,本届茶圣节特邀请茶学专家交流讨论如何更好保护和传承国家非物质文化遗产。为打造文化传播年,第二十一届中国茶圣节以春迎、夏凉、秋韵、冬福四大主题贯穿全年。

  • 《重生之门》给罗队发短信的人身份

    但是通过前文,不难推测应该是庄文杰发给罗队的短信,只是没有暴露自己的身份。罗坚来到青檀假日酒店排查,没有发现任何异常,庄文杰和许正清乔装改扮随后赶来,他们一出现就被人盯上,庄文杰和许正清来到地下停车场,庄文杰巧妙引开那些人,混进游客中进入酒店。这件事情把十二年前的洛神案串联起来了。

  • 爱情名著哪个好看(随侃名著佳作第6期)

    言下之意,他主动向周晓白提出分手。钟跃民成为一个军人,上了战场,并且是在战斗中受伤,被送到战地医疗帐篷内救治。而周晓白和钟跃民在时隔十多年后的相遇一刻,也是被编剧以及导演,安排得相当的特别,并不是那种悲情欲绝又或者是感动无比的相遇时刻。

  • 板栗可以保存多久 板栗怎么能保存时间长

    如果是晒干的板栗可以存放3-4个月,生板栗在常温下合理贮存可以存放1-2个月,煮熟的栗子大概可以放一周,熟板栗放冰箱冷冻能保存30天左右,熟板栗放冰箱冷藏保存可以存放5天。

  • 贾宝玉与红楼梦的关系(贾宝玉的春梦到底在暗示什么)

    贾宝玉与红楼梦的关系?要知道,贾琏这个人极其好色,而且好的就是熟女,那么从这个曲折的描述中,我们可以推断出,秦可卿应该是那种熟女中的极品。这个问题在书中得不到直接的答案,因为在后面的文章中,秦可卿一共只出现三个镜头:介绍弟弟秦钟与贾宝玉相见,秦可卿病后王熙凤带贾宝玉去探病,秦可卿临死前在梦里向王熙凤交代后事。

  • 简单又好看的剪纸适合儿童(孩子能学会的幼儿简单剪纸教程)

    接下来我们就一起去研究一下吧!简单又好看的剪纸适合儿童幼儿园的孩子经常要做各种各样的手工,通过做手工,提高孩子的审美能力,锻炼孩子的动手能力,培养孩子的专注力和耐心,让孩子更聪明。用蓝天白云绿色的草地,太阳、小兔子和小蘑菇,可以贴出一幅画,也可以用这个画面编出一个小故事,带孩子度过愉快的亲子时光。欢迎关注,学习更多幼儿小手工。

  • 摩尔庄园钓鲤鱼的最佳方法(摩尔庄园钓鲤鱼的有什么最佳方法)

    以下内容希望对你有帮助!摩尔庄园钓鲤鱼的最佳方法工具/原料:华为手机、安卓系统、摩尔庄园游戏。进入游戏后操纵游戏角色进行移动了。去商店购买钓鱼的诱饵。来到池塘边进行的钓鱼。等待的水面出现波动即可钓到鲤鱼了。

  • 国外的懒人产品(歪国产品咖在用哪些可爱的小工具)

    quotes=trueUsabilityHub我通常使用UsabilityHub来帮助确定设计方案。

  • 一年四季水果时间表(一年四季的时令水果是什么)

    3月(春季):枇杷、红香蕉、樱桃、杨桃、番荔枝、青枣、甘果蔗、草莓、番石榴、牛奶蕉、柑桔、观赏南瓜、果桑、鹤首瓜。12月(冬季):樱桃、番茄、红香蕉、鸡蛋果、木瓜、草莓、百香果、杨桃、无花果、番石榴、牛奶蕉、鹤首瓜、观赏南瓜、果蔗、台湾青枣、黑提子、人心果、柠檬、菠萝、油梨、柑橘、橙子。