tcp

Wireshark抓包,带你快速入门

回眸只為那壹抹淺笑 提交于 2020-04-07 19:22:29
原文: Wireshark抓包,带你快速入门 前言 关于抓包我们平时使用的最多的可能就是Chrome浏览器自带的Network面板了(浏览器上F12就会弹出来)。另外还有一大部分人使用Fiddler,Fiddler也是一款非常优秀的抓包工具。但是这两者只能对于HTTP和HTTPS进行抓包分析。如果想要对更底层的协议进行分析(如TCP的三次握手)就需要用到我们今天来说的工具Wireshark,同样是一款特牛逼的软件,且开源免费自带中文语言包。 安装和基本使用 Wireshark开源地址: https://github.com/wireshark/wireshark Wireshark下载地址: https://www.wireshark.org/download ,这里有它的历史版本。今天我们就来安装最新版本3.2.0,一路默认“下一步”安装大法就可以了。安装好后默认就是中文版。 开始抓包 显示过滤器 你会发现第一部分内容跳到非常快,根本没法找到自己想要分析的内容。这里我们可以使用显示过滤器,只显示我们想要看的内容。 在显示过滤器填入 http.reques127.0.0.1thod == "GET" ,然后用Chrome浏览器访问 http://fanyi-pro.baidu.com/index (特意找的一个http网站) 除了过滤Get请求外,常用的显示过滤器还有: tcp

TCP漫谈之keepalive和time_wait

醉酒当歌 提交于 2020-04-07 19:16:23
TCP是一个有状态通讯协议,所谓的有状态是指通信过程中通信的双方各自维护连接的状态。 一、TCP keepalive 先简单回顾一下TCP连接建立和断开的整个过程。(这里主要考虑主流程,关于丢包、拥塞、窗口、失败重试等情况后面详细讨论。) 首先是客户端发送syn(Synchronize Sequence Numbers:同步序列编号)包给服务端,告诉服务端我要连接你,syn包里面主要携带了客户端的seq序列号;服务端回发一个syn+ack,其中syn包和客户端原理类似,只不过携带的是服务端的seq序列号,ack包则是确认客户端允许连接;最后客户端再次发送一个ack确认接收到服务端的syn包。这样客户端和服务端就可以建立连接了。整个流程称为三次握手。 建立连接后,客户端或者服务端便可以通过已建立的socket连接发送数据,对端接收数据后,便可以通过ack确认已经收到数据。 数据交换完毕后,通常是客户端便可以发送FIN包,告诉另一端我要断开了;另一端先通过ack确认收到FIN包,然后发送FIN包告诉客户端我也关闭了;最后客户端回应ack确认连接终止。整个流程成为四次挥手。 TCP的性能经常为大家所诟病,除了TCP+IP额外的header以外,它建立连接需要三次握手,关闭连接需要四次挥手。如果只是发送很少的数据,那么传输的有效数据是非常少的。 是不是建立一次连接后续可以继续复用呢

杂记

扶醉桌前 提交于 2020-04-07 13:17:31
cip.cc nmap select user,authentication_string from mysql.user where user ='root' ; SELECT @@datadir select @@max_allowed_packet; show variables like '%secure%'; whatweb yum install ruby ruby-devel rubygems vi /etc/profile export http_proxy=http://172.30.254.56:3128 export ftp_proxy=http://172.30.254.56:3128 export https_proxy=http://172.30.254.56:3128 vi /etc/yum.conf proxy=http://172.30.254.56:3128 proxy_username=username proxy_password=password 分析 当前代理使用健康情况 cat /var/log/squid/access.log|gawk '{print $4}'|sort|uniq -c|sort -nr 如下 8221 次TCP_MISS 不正常 8221 TCP_MISS/200 675 TCP_MISS/401 509 TCP

Missing one-pixel row while transfering image with TCP socket

蹲街弑〆低调 提交于 2020-04-07 03:32:35
问题 I'm facing strange error right now, I have python script, that is sending/receiving data using TCP socket, everything works fine, but when I'm trying to download image with this script, it will download it, but there is a missing one-pixel row. Any ideas on how to fix it? Server download script: def download(self, cmd): try: self.c.send(str.encode(cmd)) command,filename=cmd.split(' ') nFile = open(filename, 'wb') i = self.c.recv(1024) while not ('complete' in str(i)): nFile.write(i) i = self

Missing one-pixel row while transfering image with TCP socket

霸气de小男生 提交于 2020-04-07 03:32:11
问题 I'm facing strange error right now, I have python script, that is sending/receiving data using TCP socket, everything works fine, but when I'm trying to download image with this script, it will download it, but there is a missing one-pixel row. Any ideas on how to fix it? Server download script: def download(self, cmd): try: self.c.send(str.encode(cmd)) command,filename=cmd.split(' ') nFile = open(filename, 'wb') i = self.c.recv(1024) while not ('complete' in str(i)): nFile.write(i) i = self

Linux TCP/IP网络管理工具:net-tools VS iproute2

对着背影说爱祢 提交于 2020-04-07 02:03:12
许多系统管理员仍然使用ifconfig、route、arp、netstat 命令组合来管理和排错网络配置,这些命令有net-tools包提供,但在Arch Linux、Centos7/RHEL7等发行版里面已经使用iproute2替代了net-toolsiproute2是另外一个网络配置工具,用来取代net-tools的功能; net-tools访问和修改网络配置是通过procfs(/proc)和ioctl系统调用来完成的,而iproute2是通过netlink socket方式与内核通信;重要的是,iproute2发展一直很好: https://www.kernel.org/pub/linux/utils/net/iproute2/ 下面是net-tools和iproute2的使用对比: 列出所有网络接口(包括没有激活的网卡) 使用net-tools: $ ifconfig -a 使用iproute2: $ ip link show 激活和关闭网卡 使用net-tools: $ sudo ifconfig eth1 up $ sudo ifconfig eth1 down 使用iproute2: $ sudo ip link set down eth1 $ sudo ip link set up eth1 配置IPv4地址 使用net-tools: $ sudo ifconfig

Linux 内核参数

纵饮孤独 提交于 2020-04-06 21:53:21
牢记!内核参数可以调整,但不是随便乱调,需要根据业务进行判断,并且要知道调整的后果是什么,存在哪些风险。 牢记!!!调整参数时,做好记录!!! 网络参数 /proc/sys/net/core/wmem_max    最大socket写buffer,可参考的优化值:873200 /proc/sys/net/core/rmem_max      最大socket读buffer,可参考的优化值:873200 3. /proc/sys/net/ipv4/tcp_wmem      TCP写buffer,可参考的优化值: 8192 436600 873200 4. /proc/sys/net/ipv4/tcp_rmem      TCP读buffer,可参考的优化值: 32768 436600 873200 5. /proc/sys/net/ipv4/tcp_mem   它有3个值,意思是:   net.ipv4.tcp_mem[0]:低于此值,TCP没有内存压力.   net.ipv4.tcp_mem[1]:在此值下,进入内存压力阶段.   net.ipv4.tcp_mem[2]:高于此值,TCP拒绝分配socket.   上述内存单位是页,而不是字节.可参考的优化值是:786432 1048576 1572864 6. /proc/sys/net/core/netdev_max

字节二面问我计算机网络的拥塞控制问题,清明节假,我终于搞明白了...

巧了我就是萌 提交于 2020-04-06 21:31:19
多点头发,少点代码 本文已经收录至我的GitHub,欢迎大家踊跃star 和 issues。 https://github.com/midou-tech/articles 本来想先更新TCP的基础和TCP可靠性等问题的,但是被你们暗示了,就先更流量控制和拥塞控制了。希望龙叔讲的你能搞清楚,如果有不清楚的,可以加龙叔微信一起探讨。 龙叔的号暂时还没开通留言功能(大家要是有留言号,可以贡献一个出来喔😆),大家有什么问题就直接后台回复 龙叔 即可加龙叔微信,享受一对一技术探讨(只要是问我问题的都会回复大家,基本是在晚上十点之后和周末,做好不会秒回的心理准备) 流量控制 讲流量控制之前先花简短的话语絮叨下TCP基础知识,详细知识细节后面会出文章一一道来。 TCP是一种面向连接、保证可靠性、流式传输服务。 面向连接 就是建立链接,也就是面试常问的三次挥手建立链接,四次挥手断开链接。 保证可靠性 到是很好理解,就是你发送的数据尽最大可能保证让接收端接收到。 流式传输 就是传输的数据是以字节流的形式发送和接受(不要硬是和我说,什么字节流传输?明明物理层上都是波信号,这,抱拳。) TCP传输数据都是建立链接之后才进行传输,传输的时候为保证可靠性,也是采用确认应答机制。所谓确认应答机制就是发送数据之后必须收到确认消息,才算一次有效传输。 举个简单栗子,就是你和别人交流之前必须叫别人一声(这位先生你好

网络抓包wireshark

为君一笑 提交于 2020-04-06 21:11:35
抓包应该是每个技术人员掌握的基础知识,无论是技术支持运维人员或者是研发,多少都会遇到要抓包的情况,用过的抓包工具有fiddle、wireshark,作为一个不是经常要抓包的人员,学会用 Wireshark就够了,毕竟它是功能最全面使用者最多的抓包工具。 Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。 网络封包分析软件的功能可想像成 "电工技师使用电表来量测电流、电压、电阻" 的工作 - 只是将场景移植到网络上,并将电线替换成网络线。在过去,网络封包分析软件是非常昂贵的,或是专门属于营利用的软件。Ethereal的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Ethereal是目前全世界最广泛的网络封包分析软件之一。 wireshark的官方下载网站: http://www.wireshark.org/ wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。 wireshark是开源软件,可以放心使用。 可以运行在Windows和Mac OS上。 Wireshark不能做的

计算机网络中的一些概念

别说谁变了你拦得住时间么 提交于 2020-04-06 13:34:51
OSI,TCP/IP,五层协议的体系结构,以及各层协议 答:OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。 五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。 每一层的协议如下: 物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器) 数据链路:PPP、FR、HDLC、VLAN、MAC (网桥,交换机) 网络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器) 传输层:TCP、UDP、SPX 会话层:NFS、SQL、NETBIOS、RPC 表示层:JPEG、MPEG、ASII 应用层:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS 每一层的作用如下: 物理层:通过媒介传输比特,确定机械及电气规范(比特Bit) 数据链路层:将比特组装成帧和点到点的传递(帧Frame) 网络层:负责数据包从源到宿的传递和网际互连(包PackeT) 传输层:提供端到端的可靠报文传递和错误恢复(段Segment) 会话层:建立、管理和终止会话(会话协议数据单元SPDU) 表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU) 应用层:允许访问OSI环境的手段(应用协议数据单元APDU) ARP是地址解析协议