标签:组织 log -bash mtu detail 有一个 判断 系统 工具
这是一篇trick短文,这是一篇不靠谱的hack短文。
??系统中有一个数据集,即peer metric,在sysctl中就是:
net.ipv4.tcp_no_metrics_save
这么一个参数。它包含了任意一个peer的以下字段:
enum {
RTAX_UNSPEC,
#define RTAX_UNSPEC RTAX_UNSPEC
RTAX_LOCK,
#define RTAX_LOCK RTAX_LOCK
RTAX_MTU,
#define RTAX_MTU RTAX_MTU
RTAX_WINDOW,
#define RTAX_WINDOW RTAX_WINDOW
RTAX_RTT,
#define RTAX_RTT RTAX_RTT
RTAX_RTTVAR,
#define RTAX_RTTVAR RTAX_RTTVAR
RTAX_SSTHRESH,
#define RTAX_SSTHRESH RTAX_SSTHRESH
RTAX_CWND,
#define RTAX_CWND RTAX_CWND
RTAX_ADVMSS,
#define RTAX_ADVMSS RTAX_ADVMSS
RTAX_REORDERING,
#define RTAX_REORDERING RTAX_REORDERING
RTAX_HOPLIMIT,
#define RTAX_HOPLIMIT RTAX_HOPLIMIT
RTAX_INITCWND,
#define RTAX_INITCWND RTAX_INITCWND
RTAX_FEATURES,
#define RTAX_FEATURES RTAX_FEATURES
RTAX_RTO_MIN,
#define RTAX_RTO_MIN RTAX_RTO_MIN
RTAX_INITRWND,
#define RTAX_INITRWND RTAX_INITRWND
RTAX_QUICKACK,
#define RTAX_QUICKACK RTAX_QUICKACK
RTAX_CC_ALGO,
#define RTAX_CC_ALGO RTAX_CC_ALGO
__RTAX_MAX
};
然而大多数人觉得这并不靠谱,因为IPv4固有的问题,比如地址数量有限,天生无安全措施等,大多数组织都会采用NAT来缓解,同时运营商也会在征求用户同意的前提下使能NAT,这就会带来一个问题。
??peer表征一个机器的IP地址,如它只是一个NAT设备,那么它后面的设备信息将全部丢失,也因为如此,Linux内核默认关闭了metric。真的就是这样吗?
??不是的!
??网络终端画像不仅仅可以通过五元组来绘制,它可以使用TCP/IP协议族的协议头里面的任何字段来绘制。我们有一个非常熟悉的例子,即nmap,这个工具背后有一个大型的指纹库,它可以根据TCP的初始序列号来定位OS的版本!
??这很简单。其实协议头的每一个字段都可以利用,只要你知道它们的实现细节。
??如何定位到一个TCP流中的reset是不是真实的,看下IP头的IPID字段,只要它和之前的五元组正常流量不是宽松连续的,那就说明这个reset是中间设备伪造的,类似的,TTL有明显异常的,也能判断第一印象。
??比定位reset问题稍微复杂点,如何定位NAT后面的机器?这可能需要打点画图了,把IPID都密集采集下来,然后描线即可,同一时间看看有多少条线,取最大值一般就是NAT后面机器的数量了。
??更加厉害的,就是取TCP指纹了,这个其实并不需要自己做什么太多的事,有很多现成的指纹库可以用…这些好玩吗?嗯,好玩。
??不多说!
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow
标签:组织 log -bash mtu detail 有一个 判断 系统 工具
原文地址:https://www.cnblogs.com/ksiwnhiwhs/p/10390234.html