客户端发送syn服务端不回复syn ack

客户端发送syn服务端不回复syn ack


在搭建一个服务的时候,公司内部测试都可以,但是在客户那里就一直无法访问服务器,试了多部手机都不行,最后发现客户那里安卓手机都无法访问服务,ios手机可以正常访问服务(安卓是linux内核默认开启了时间戳,ios是BSD默认没有开启时间戳)。

Read More

小米手机Android studio调试no device found问题

小米手机Android Studio调试No device found问题


最近在自学Android开发,今天打算在我的小米手机上调试我的第一个Android应用。结果被坑了,花了好久才找到问题所在。

真机调试是通过USB调试的,但在小米手机上仅仅打开开发者模式和USB调试是不够的,依然会存在连接不到ADB的问题。

最终发现在小米手机上还需要【开启手机端USB调试端口(Diag USB port enable)】,其他品牌的手机应该是不需要的。

以下就是打开USB调试端口的方法:

  • 打开手机拨号,输入“*#*#717717#*#*”,然后提示“Diag USB port enable”这是才真正开启了USB端口调试,相关闭的话再输入一遍就可以了。

  • 还要在PC机上安装USB驱动程序(小米官网或是第三方工具)

centos bonding

网卡绑定技术在不同的平台下的叫法不同,在Linux下叫bonding,IBM称为etherchanel,broadcom叫team,但效果都是将两块或更多的网卡当做一块网卡使用,在增加带宽的同时也可以提高冗余性。一般使用较多的就是来提高冗余,分别和不同交换机相连,提高可靠性,但有时服务器带宽不够了也可以增加带宽。
双网卡绑定就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。其实这项技术在Sun和Cisco中早已存在,被称为Trunking和Etherchannel技术,在 Linux的2.4.x的内核中也采用这这种技术,被称为bonding。bonding技术的最早应用是在集群——beowulf上,为了提高集群节点间的数据传输而设计的。下面我们讨论一下bonding 的原理,什么是bonding需要从网卡的混杂(promisc)模式说起。在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身Mac的以太网帧,对于别的数据帧都滤掉,以减轻驱动程序的负担。但是网卡也支持另外一种被称为混杂promisc的模式,可以接 收网络上所有的帧,比如说tcpdump,就是运行在这个模式下。bonding也运行在这个模式下,而且修改了驱动程序中的mac地址,将两块网卡的Mac地址改成相同,可以接收特定mac的数据帧。然后把相应的数据帧传送给bond驱动程序处理。

Read More