客户端发送syn服务端不回复syn ack
在搭建一个服务的时候,公司内部测试都可以,但是在客户那里就一直无法访问服务器,试了多部手机都不行,最后发现客户那里安卓手机都无法访问服务,ios手机可以正常访问服务(安卓是linux内核默认开启了时间戳,ios是BSD默认没有开启时间戳)。
在搭建一个服务的时候,公司内部测试都可以,但是在客户那里就一直无法访问服务器,试了多部手机都不行,最后发现客户那里安卓手机都无法访问服务,ios手机可以正常访问服务(安卓是linux内核默认开启了时间戳,ios是BSD默认没有开启时间戳)。
最近在自学Android开发,今天打算在我的小米手机上调试我的第一个Android应用。结果被坑了,花了好久才找到问题所在。
真机调试是通过USB调试的,但在小米手机上仅仅打开开发者模式和USB调试是不够的,依然会存在连接不到ADB的问题。
最终发现在小米手机上还需要【开启手机端USB调试端口(Diag USB port enable)】,其他品牌的手机应该是不需要的。
以下就是打开USB调试端口的方法:
打开手机拨号,输入“*#*#717717#*#*”,然后提示“Diag USB port enable”这是才真正开启了USB端口调试,相关闭的话再输入一遍就可以了。
还要在PC机上安装USB驱动程序(小米官网或是第三方工具)
网卡绑定技术在不同的平台下的叫法不同,在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驱动程序处理。
命令如下:1
openssl dgst -binary -sha256 -mac HMAC -macopt hexkey:$kSecret $filename
参考文档:
1.openssl hmac differ from python hmac
2.HMAC使用Linux内核加密api不一样,通过OpenSSL命令
3.openssl命令行入门
4.Using openssl to generate HMAC using a binary key
5.AWS Signature v4 in Bash
6.HMAC-SHA1 in bash
7.S3-AWSV4-upload.sh