tcp/ip网络里的客户端和服务器端 信息交流 与 安全
ISP(Internet Service Provider) 互联网服务提供商, 即向广大用户综合提供互联网接入业务、信息业务、和增值业务的电信运营商.
通过wireshark学习tcp/ip. 用wireshark抓包,发现包传送过程. 也就是说在服务器那边这些东西(服务器客户端ip地址端口)也是知道的.
tcp/ip
tcp的首部
ip的首部
http://docs.linuxtone.org/ebooks/C&CPP/c/ch36s01.html
TCP/IP协议栈与数据包封装
TCP/IP网络协议栈分为应用层(Application)、传输层(Transport)、网络层(Network)和链路层(Link)四层。如下图所示(该图出自[TCPIP])。
图 36.1. TCP/IP协议栈
两台计算机通过TCP/IP协议通讯的过程如下所示(该图出自[TCPIP])。
图 36.2. TCP/IP通讯过程
传输层及其以下的机制由内核提供,应用层由用户进程提供(后面将介绍如何使用socket API编写应用程序),应用程序对通讯数据的含义进行解释,而传输层及其以下处理通讯的细节,将数据从一台计算机通过一定的路径发送到另一台计算机。应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation),如下图所示(该图出自[TCPIP])。
图 36.3. TCP/IP数据包的封装
不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理。
上图对应两台计算机在同一网段中的情况,如果两台计算机在不同的网段中,那么数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器,如下图所示(该图出自[TCPIP])。
图 36.4. 跨路由器通讯过程
其实在链路层之下还有物理层,指的是电信号的传递方式,比如现在以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)是工作在物理层的网络设备,用于双绞线的连接和信号中继(将已衰减的信号再次放大使之传得更远)。
链路层有以太网、令牌环网等标准,链路层负责网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。交换机是工作在链路层的网络设备,可以在不同的链路层网络之间转发数据帧(比如十兆以太网和百兆以太网之间、以太网和令牌环网之间),由于不同链路层的帧格式不同,交换机要将进来的数据包拆掉链路层首部重新封装之后再转发。
网络层的IP协议是构成Internet的基础。Internet上的主机通过IP地址来标识,Internet上有大量路由器负责根据IP地址选择合适的路径转发数据包,数据包从Internet上的源主机到目的主机往往要经过十多个路由器。路由器是工作在第三层的网络设备,同时兼有交换机的功能,可以在不同的链路层接口之间转发数据包,因此路由器需要将进来的数据包拆掉网络层和链路层两层首部并重新封装。IP协议不保证传输的可靠性,数据包在传输过程中可能丢失,可靠性可以在上层协议或应用程序中提供支持。
网络层负责点到点(point-to-point)的传输(这里的“点”指主机或路由器),而传输层负责端到端(end-to-end)的传输(这里的“端”指源主机和目的主机)。传输层可选择TCP或UDP协议。TCP是一种面向连接的、可靠的协议,有点像打电话,双方拿起电话互通身份之后就建立了连接,然后说话就行了,这边说的话那边保证听得到,并且是按说话的顺序听到的,说完话挂机断开连接。也就是说TCP传输的双方需要首先建立连接,之后由TCP协议保证数据收发的可靠性,丢失的数据包自动重发,上层应用程序收到的总是可靠的数据流,通讯之后关闭连接。UDP协议不面向连接,也不保证可靠性,有点像寄信,写好信放到邮筒里,既不能保证信件在邮递过程中不会丢失,也不能保证信件是按顺序寄到目的地的。使用UDP协议的应用程序需要自己完成丢包重发、消息排序等工作。
目的主机收到数据包后,如何经过各层协议栈最后到达应用程序呢?整个过程如下图所示(该图出自[TCPIP])。
图 36.5. Multiplexing过程
以太网驱动程序首先根据以太网首部中的“上层协议”字段确定该数据帧的有效载荷(payload,指除去协议首部之外实际传输的数据)是IP、ARP还是RARP协议的数据报,然后交给相应的协议处理。假如是IP数据报,IP协议再根据IP首部中的“上层协议”字段确定该数据报的有效载荷是TCP、UDP、ICMP还是IGMP,然后交给相应的协议处理。假如是TCP段或UDP段,TCP或UDP协议再根据TCP首部或UDP首部的“端口号”字段确定应该将应用层数据交给哪个用户进程。IP地址是标识网络中不同主机的地址,而端口号就是同一台主机上标识不同进程的地址,IP地址和端口号合起来标识网络中唯一的进程。
注意,虽然IP、ARP和RARP数据报都需要以太网驱动程序来封装成帧,但是从功能上划分,ARP和RARP属于链路层,IP属于网络层。虽然ICMP、IGMP、TCP、UDP的数据都需要IP协议来封装成数据报,但是从功能上划分,ICMP、IGMP与IP同属于网络层,TCP和UDP属于传输层。本文对RARP、ICMP、IGMP协议不做进一步介绍,有兴趣的读者可以看参考资料。
网警如何追查恶意发帖人:
http://www.cnblogs.com/mrchang/p/4067488.html
大致分为下列几种情况:
1.不用代理
网民发帖流程:
发帖人 → ISP → 服务器托管商 → 服务器
网警追踪流程:
网监 → 服务器IP → 发帖人IP → 发帖人ISP → 档案
爆菊几率:100%
2.只用1层私人VPN
网民发帖流程:
发帖人 → ISP → VPN → 服务器托管商 → 服务器
网警追踪流程:
网监 → 服务器IP → VPN的IP → 路由日志 → 链接者IP → 链接者ISP → 办网档案
爆菊几率:100%
3.用1层共用VPN
网民发帖流程:
发帖人 → ISP → VPN → 服务器托管商 → 服务器
网警追踪流程:
网监 → 服务器IP → VPN的IP → 入侵VPN服务器 → 日志 → 链接者IP → 链接者ISP → 办网档案
爆菊几率:80%
4.用2层私人VPN
网民发帖流程:
发帖人 → ISP → VPN1 → VPN2 → 服务器托管商 → 服务器
网警追踪流程:
网监 → 服务器IP → VPN2的IP → 入侵VPN2服务器 → 日志查VPN1 → 路由日志 → 链接者IP → 链接者ISP → 办网档案
爆菊几率:40%
5.用2层共用VPN
网民发帖流程:
发帖人 → ISP → VPN1 → VPN2 → 服务器托管商 → 服务器
网警追踪流程:
网监 → 服务器IP → VPN2的IP → 入侵VPN2服务器 → 日志查VPN1 → 日志 → 链接者IP → 链接者ISP → 办网档案
爆菊几率:25%
6.用N层私人(共用)VPN后删掉VPN,如果发帖人有QQ
网民发帖流程:
发帖人 → ISP → VPN1 → VPN2 → VPN3 → VPN*n服务器托管商 → 服务器
网警追踪流程:
网监 → 服务器IP → 访问网站 → 发帖人常用用户名 → 谷歌(百度)一下 → 查到QQ → 找企鹅公司查近期登录IP
爆菊几率:100%
7.用N层私人(共用)VPN后删掉VPN,如果发帖人无QQ
网民发帖流程:
发帖人 → ISP → VPN1 → VPN2 → VPN3 → VPN*n服务器托管商 → 服务器
网警追踪流程:
网监 → 服务器IP → 访问网站 → 发帖人常用用户名 → 谷歌(百度)一下 → 查到其他论坛注册的ID → 找管理员查注册(登录)IP
爆菊几率:100%
8.用N层私人(共用)VPN后删掉VPN,如果发帖人再网上没有任何信息
网民发帖流程:
发帖人 → ISP → VPN1 → VPN2 → VPN3 → VPN*n服务器托管商 → 服务器
网警追踪流程:
网监 → 服务器IP → 访问网站 → 无常用用户名 → 根据发帖内容(如北京市海淀区XX小区) → 监控整个小区宽带 → 分析 → 找到IP
爆菊几率:80%(如果不是严重的问题,如判国之类的应该不会用这种蛋疼方法)
9.用N层私人(共用)VPN后删掉VPN,如果发帖人再网上没有任何信息,但电脑上有自动链接网络的软件,如QQ,金山快盘等。。
网民发帖流程:
发帖人 → ISP → VPN1 → VPN2 → VPN3 → VPN*n服务器托管商 → 服务器
网警追踪流程:
网监 → 服务器IP → 访问网站 → 无常用用户名 → 各大公司查IP → 查到常用用户名 → 查历史登录记录 → 查ip → 爆菊
爆菊几率:100%
10.到KFC之类的地方上公共网。
网民发帖流程:
发帖人 → KFC → 服务器托管商 → 服务器
网警追踪流程:
网监 → 服务器IP → 访问网站 → 看发帖日期时间 → 到KFC → 调监控 → 爆菊
爆菊几率:100%
11.到KFC之类的地方上公共网,假设本次没被监控拍到
网民发帖流程:
发帖人 → KFC → 服务器托管商 → 服务器
网警追踪流程:
网监 → 服务器IP → 访问网站 → 看发帖日期时间 → 到KFC → 查MAC地址 → 到附近其他公共网络查此MAC → (如果DHCP会查计算机名) → 附近监控 → 爆菊
爆菊几率:100%
12.假设网监已知道MAC地址
(本条存在疑问,具体见站长评论)
12.1 假设自己买的电脑
查MAC数据库能找到销售商。。一般买电脑的时候MAC也有记录。。可能是三包凭证之类的都有。。而一般买电脑会让你提供个人信息填写三包,MAC之类的硬件代码也会记录。。之后你懂的,不过有些商家对这个不怎么记录。不过也有可能查购买者银行卡(如果非现金)。所以..爆菊几率<25%
12.2 假设是线下二手交易
同样,查到电脑原主人,问问就知道了。。不过一般交易者都会留下你的手机号之类的,到移动联通电信之类的查查就知道了。。如果非实名卡查查基站,能查到IMEI,如果不是山寨机同样有方法查到买手机的人,所以我感觉这样反而没到小地方买电脑的方法保险。。爆菊几率<75%
13.知道地区了。。
查所有与1723交换记录(openvpn蛋疼)。。查链接时间,你懂的。。如何尽可能能不被抓:
移动的whonix或tails(使用u盘)-使用firefox禁止记录任何并使用noscript(重要!)-使用tor-tor的流量套着靠谱的vpn里面-vpn访问
追踪:从网站得到vpn的ip地址-询问vpn-如果vpn没有任何记录-无解 如果vpn有记录-得到出站tor节点 如果碰巧掌握了第一个此条信息的传输节点和最后一个-确认是同一条信息-发现电脑-人工搜索-人他妈的都跑了……
实际上很多时候是很难追踪到的,具体应用时是主要监控特定人的传输,几乎不可能通过只有末端然后发现初始,监控传输后就可能可以破解内容然后再来破案
实际上他们监控的值得监控的人物可能都是他们熟悉的……没事是几乎不可能监控你的……所以说我不知道那值得监控的倒是是轮子还是什么超级反人类组织……没有一个系统是安全的 Know it,And hack it!
tcp/ip网络里的客户端和服务器端 信息交流 与 安全的更多相关文章
- TCP/IP网络编程之基于TCP的服务端/客户端(二)
回声客户端问题 上一章TCP/IP网络编程之基于TCP的服务端/客户端(一)中,我们解释了回声客户端所存在的问题,那么单单是客户端的问题,服务端没有任何问题?是的,服务端没有问题,现在先让我们回顾下服 ...
- TCP/IP网络编程之基于TCP的服务端/客户端(一)
理解TCP和UDP 根据数据传输方式的不同,基于网络协议的套接字一般分为TCP套接字和UDP套接字.因为TCP套接字是面向连接的,因此又称为基于流(stream)的套接字.TCP是Transmissi ...
- TCP/IP网络协议基础
实验楼学习网络协议传送门 一.TCP/IP简介 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输控制协议和网络协议的简称,它定义了电 ...
- TCP/IP网络协议
OSI七层模型 OSI采用了分层的结构化技术,共分七层,物理层.数据链路层.网络层.传输层.会话层.表示层.应用层. TCP/IP模型 OSI模型比较复杂且学术化,所以我们实际使用的TCP/IP模型, ...
- TCP/IP网络协议栈(转载)
原文:http://www.cnblogs.com/xuanku/p/tcpip.html TCP/IP网络协议栈分为四层, 从下至上依次是: 链路层 其实在链路层下面还有物理层, 指的是电信号的传输 ...
- TCP/IP网络协议的通俗理解,SOCKET,HTTP,SOAP
TCP/IP,HTTP,SOAP等协议之区别 术语TCP/IP代表传输控制协议/网际协议,指的是一系列协议.“IP”代表网际协议,TCP和UDP使用该协议从一个网络传送数据包到另一个网络.把IP想 ...
- 《TCP/IP网络编程》
<TCP/IP网络编程> 基本信息 作者: (韩)尹圣雨 译者: 金国哲 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9787115358851 上架时间:2014-6- ...
- TCP/IP网络知识点总结
学完了计算机网络是时候整理一篇总结了,温故知新.注意:这篇博客很长长长(2.5万字+50图). TCP/IP网络知识点总结 一.总述 1.定义:计算机网络是一些互相连接的.自治的计算机的集合.因特网是 ...
- TCP/IP网络编程系列之四(初级)
TCP/IP网络编程系列之四-基于TCP的服务端/客户端 理解TCP和UDP 根据数据传输方式的不同,基于网络协议的套接字一般分为TCP和UDP套接字.因为TCP套接字是面向连接的,因此又称为基于流的 ...
随机推荐
- net core 上传并使用EPPlus导入Excel文件
1. cshtml页面 form <form id="form" method="post" action="/SaveValueBatch& ...
- Spring Cloud之路:(七)SpringBoot+Shiro实现登录认证和权限管理
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/sage_wang/article/details/79592269一.Shiro介绍1.Shiro是 ...
- pl/sql 如何将Excel文件数据导入oracle的数据表?
1.准备导入数据的excel文件 注意:excel列名和数据表列名必须相同,excel文件sheet2和sheet3可以删除 1)excel文件格式 2)数据表格式 2.打开pl/sql ,找到工具- ...
- js如何通过末次月经日期计算预产日期
计算方式有两种 1)直接添加280天 2)添加10月8天(参数传递,可用改成9月7天等) js中引入文件 <script src="js/jquery.min.js"> ...
- 字符串和数组----string
一.初始化string对象的方式 #include <iostream> #include <string> using std::cout; using std::endl; ...
- Vue--项目开发之实现tabbar功能来学习单文件组件1
创建好一个Vue项目后,我们进入项目里,点开src文件下的components文件里的helloworld.vue 文件.清空初始数据.然后开始编写. 一个.vue文件初始格式为以下三部分(组件三部曲 ...
- 自定义xadmin后台首页
登陆xadmin后台,首页默认是空白,可以自己添加小组件,xadmin一切都是那么美好,但是添加小组件遇到了个大坑,快整了2个礼拜,最终实现想要的界面.初始的页面如图: 本机后台显示这个页面正常,do ...
- python 学习 map /reduce
python 内建了map()和reduce()函数 map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回. ...
- day27-python阶段性复习-基础
一.基础资料,安装python Python 跨平台的,(Linux,Windows,mac) 网站www.python.org 解释器交互方式 Ipython Python shell https: ...
- .tar.gz 和.tgz 解压
wget {url} 下载 eg: wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apac ...