网络
翔云123456
这个作者很懒,什么都没留下…
展开
-
网线接口类型
网卡最终是要与网络进行连接,所以也就必须有一个接口使网线通过它与其它计算机网络设备连接起来。不同的网络接口适用于不同的网络类型,目前常见的接口主要有以太网的RJ-45接口、细同轴电缆的BNC接口和粗同轴电AUI接口、FDDI接口、ATM接口等。而且有的网卡为了适用于更广泛的应用环境,提供了两种或多种类型的接口,如有的网卡会同时提供RJ-45、BNC接口或AUI接口。(1)RJ-45接口转载 2011-11-29 09:57:01 · 3577 阅读 · 0 评论 -
服务器最大连接数问题
问题服务器进程会有一个最大连接数,如果达到最大连接数,server端报错: listener accept fail: accept tcp [::]:6080: accept4: too many open files此时,client端报错: dial tcp 172.20.152.87:6080: i/o timeoutclient连接超时下面来看下哪些因...原创 2018-04-06 17:10:32 · 22680 阅读 · 4 评论 -
Golang 端口复用测试
先给出结论:同一个进程,使用一个端口,然后连接关闭,大约需要30s后才可再次使用这个端口。测试首先使用端口9001连接服务端,发送数据,然后关闭连接,接着再次使用端口9001连接服务端,如果连接失败,间隔15s后,再次尝试,最多尝试3次,。clientpackage mainimport ( "bufio" "fmt" &quo原创 2018-06-20 23:17:29 · 4267 阅读 · 0 评论 -
Golang如何使用websocket
下载websocket包$ go get golang.org/x/net/websocket 如果下载失败,可能是被墙了。 package golang.org/x/net/websocket: unrecognized import path “golang.org/x/net/websocket” (https fetch: Get https://golang.org/...原创 2018-06-16 12:21:10 · 8461 阅读 · 1 评论 -
golang gopacket网络抓包和分析
gopacket 是golang语言抓包和分析的工具包。本文简单介绍如何使用gopacket进行网络抓包。下载gopacket# go get git@github.com:google/gopacket.gitDemo代码中,抓取与端口3306相关的数据,也就是mysql通信数据。package mainimport( "fmt" "net" &a原创 2018-10-20 11:39:44 · 8586 阅读 · 0 评论 -
Linux 建立 TCP 连接的超时时间分析(解惑)
Linux 系统默认的建立 TCP 连接的超时时间为 127 秒,对于许多客户端来说,这个时间都太长了, 特别是当这个客户端实际上是一个服务的时候,更希望能够尽早失败,以便能够选择其它的可用服务重新尝试。socket 是 Linux 下实现的传输控制层协议,包括 TCP 和 UDP,一个 socket 端点由 IP 和端口对来唯一标识; 如果开启了地址复用,那么可以进一步由协议,IP 和端口来唯...转载 2018-12-20 21:56:48 · 11943 阅读 · 1 评论 -
tcpdump抓包
tcpdump是抓包常用的工具,可以直接从数据链路层抓取网络数据进行分析。tcpdmp提供了很多命令行参数,提供定制的数据捕获功能。下面首先会介绍其命令行参数,接着以一个使用场景为例说明使用方法。1.tcpdump使用说明1.1 命令行参数i interface 网络接口,例如lo0, en0, eth0等c count 指定抓包的个数,如果没有提供,则一直监听并抓取X 以十六进制和...原创 2019-04-13 19:30:54 · 1197 阅读 · 0 评论 -
TCP连接异常:broken pipe 和EOF
本文介绍3种TCP连接异常的情况。1.server没有启动,client尝试连接./clientdial failed: dial tcp 127.0.0.1:8080: connect: connection refused通过tcpdump抓包,可以看到当server没有启动的时候,client向server8080端口发送数据后,client端会收到RST。2.client 读数...原创 2019-04-13 21:09:34 · 23141 阅读 · 0 评论 -
HTTP 客户端接收数据超时
本文使用两种方式测试HTTP 客户端读数据超时的情况,一种是直接使用golang自带的http库,另一种是使用martini web框架。1. 测试1–直接使用http库1.1.启动serverserver端的请求响应函数,会睡眠10s,再返回结果。这样,可以模拟server端处理慢的情况。package mainimport ( "log" "net...原创 2019-04-13 21:34:32 · 1423 阅读 · 0 评论 -
TCP 选项RST
1.RST介绍RST表示reset复位,用于异常情况下关闭连接。发送RST包关闭连接时,不必等缓冲区的包都发出去,直接就丢弃缓冲区中的包。而接收端收到RST包后,也不必发送ACK包来确认。2. 什么时候发送RST包建立连接的SYN到达某端口,但是该端口上没有正在 监听的服务。TCP收到了一个根本不存在的连接上的分节。请求超时。使用setsockopt的SO_R...原创 2019-04-13 21:56:17 · 574 阅读 · 0 评论 -
tcpdump+wireshark抓包分析
上一篇文章中,我们介绍了tcpdump如何抓包。tcpdump是命令行下便捷的抓包和分析工具,但使用方式不够友好,wireshark是带图形化界面的抓包和分析工具,操作简便,但需要主机有显示器。所以,在很多场景下,例如,生产环境服务器,可以使用tcpdump抓包保存到文件,然后再由wireshark进行分析,这样可以很好的发挥两者的优势。本文介绍如何使用tcpdump抓包到文件,再由wir...原创 2019-04-27 10:53:50 · 889 阅读 · 0 评论 -
golang网络通信超时设置
网络通信中,为了防止长时间无响应的情况,经常会用到网络连接超时、读写超时的设置。本文结合例子简介golang的连接超时和读写超时设置。1.超时设置1.1 连接超时func DialTimeout(network, address string, timeout time.Duration) (Conn, error) 第三个参数timeout可以用来设置连接超时设置。如果超过time...原创 2019-05-12 16:47:20 · 17452 阅读 · 0 评论 -
TCP keepalive的详解(解惑)
TCP是面向连接的,一般情况,两端的应用程序可以通过发送和接收数据得知对端的存活。当两端的应用程序都没有数据发送和接收时,如何判断连接是否正常呢?这就是SO_KEEPALIVE的作用。1. SO_KEEPALIVE 的作用1.1 SO_KEEPALIVE的定义SO_KEEPALIVE用于开启或者关闭保活探测,默认情况下是关闭的。当SO_KEEPALIVE开启时,可以保持连接检测对方主机...原创 2019-05-26 17:49:39 · 31479 阅读 · 0 评论 -
connect: cannot assign requested address
问题client端连接Server,出现报错 connect: cannot assign requested address原因每台机器有65535个端口,0~1023是系统保留的,应用程序可以使用的端口是剩下的6w多个。如果client频繁连接Server,就会导致client本地端口已经耗尽,没有端口可用。...原创 2018-03-24 11:11:35 · 4423 阅读 · 0 评论 -
同一端口监听tcp和udp请求
问题:众所周知,同一台机器的同一个端口只可以被一个进程使用。一个进程使用同一个端口同时监听tcp、udp请求,是否可以呢?答案:是可以的。代码:server为了同时监听,server使用select进行多路访问控制。 server端代码如下:/*TCPINETuse select*/#include<stdio.h>#include<stdlib.h>#include<string.h原创 2017-07-30 18:33:34 · 6210 阅读 · 4 评论 -
IP地址转换:数字与字符串之间的转换
IPv4 4字节 MSB————–LSB BYTE4 BYTE3 BYTE2 BYTE1每个字节表示的范围:BYTE4: 4294967296(2*32*)BYTE3: 16777216(2*24*)BYTE2: 65536(2*16*)BYTE1: 256(2*8*)如何将点分十进制的IP地址转为数字? 例如,222.173.108.86 转换方法: 222* BY原创 2017-03-12 21:58:21 · 9763 阅读 · 0 评论 -
移动IPv6关键路由技术分析
随着Internet技术的迅猛发展,为满足不断增长的用户需求,TCP/IP正从IPv4向下一代互连网协议IPv6逐步演进,作为网络层协议的移动IP将在IPv6中为网络节点提供更加完善的移动性支持。目前,IETF(Internet Engineering Task Force)移动工作组将把制定移动IPv6标准作为移动IP工作组议程的主要研究课题,并取得了一系列的进展。1 移动IPv6的转载 2011-12-02 10:26:19 · 1190 阅读 · 0 评论 -
无线网卡芯片类型及与linux-wlan-ng的兼容性
无线局域网适配器芯片集由 AbsoluteValue Systems, Inc.提供,更新至2004年2月 LINUX SUPPORT VENDORWLAN TYPEPRODUCT IDHOST I/FCHIPSETAVS TestedUser/Vendor ReportCOMMENTS翻译 2012-03-07 10:28:24 · 6663 阅读 · 0 评论 -
ndiswrapper支持的PCMCIA无线网卡
ndiswrapper支持的PCMCIA无线网卡 33COM 3CR154G723COM 3CRGPC100753COM 3CRSHPW796AAirnet AWN154Asante AL5410-GAsus WL-107GAtlantisLand A02-PCM-W54BBelkin F5D7010Belkin F5D7010 car转载 2012-03-07 11:16:55 · 951 阅读 · 0 评论 -
ndiswrapper支持的PCI无线网卡
ndiswrapper支持的PCI无线网卡 33COM 3CRWE254A723Com 3C410AA-Link WL54HASUS PCI-G31AeroGuard AGN1023PCAirlink AWLH3026TAirnet AWD108Airnet AWD154Aironet 350Alpha AFW-N411Asus P5GD2Asus转载 2012-03-07 10:41:43 · 1909 阅读 · 0 评论 -
rt5370驱动移植
//----------------------------------------------------//AUTHOR: lanyang123456//DATE: 2012-3-19//---------------------------------------------------- 硬件:ARM 开发板 OK6410系统:linux 2.6.28内核原创 2012-03-19 21:19:44 · 10110 阅读 · 5 评论 -
DHCP 移植
//----------------------------------------------------//AUTHOR: lanyang123456//DATE: 2012-3-19//---------------------------------------------------- dhcp版本: 3.1.3ARM 开发板:OK6410 Linux内核2.原创 2012-03-16 16:25:41 · 6325 阅读 · 1 评论 -
如何制作网线水晶头<图解>
RJ-45插头是一种只能沿固定方向插入并自动防止脱落的塑料接头,俗称“水晶头”,专业术语为RJ-45连接器(RJ-45是一种网络接口规范,类似的还有RJ-11接口,就是我们平常所用的“电话接口”,用来连接电话线)。之所把它称之为“水晶头”,是因为它的外表晶莹透亮的原因。双绞线的两端必须都安装这种RJ-45插头,以便插在网卡(NIC)、集线器(Hub)或交换机(Switch)的RJ-45接口上,进行转载 2012-11-15 09:15:19 · 2042 阅读 · 0 评论 -
路由器DHCP问题
遇到一个路由器好奇怪自动fen原创 2014-07-13 19:17:43 · 748 阅读 · 0 评论 -
解惑篇:TCP/UDP/IP分片
转载转载 2014-10-22 09:25:53 · 7024 阅读 · 0 评论 -
linux系统ioctl使用示例
转杂转载 2014-10-24 14:39:21 · 703 阅读 · 0 评论 -
如何检测网线是否插好
/*检测物理连接是否正常detect phy linkcable connected or disconnected.*/#include /* See NOTES */#include #include #include #include #include #include #include #include int detect_ethto原创 2014-10-22 22:37:24 · 4654 阅读 · 0 评论 -
保留IP地址
保留IP地址不会在互联网中使用,其主要被用在企业机构内部作为局域网地址使用。保留地址主要在以下四类:A类:10.0.0.0-10.255.255.255(长度相当于1个A类IP地址)A类:100.64.0.0-100.127.255.255B类:172.16.0.0-172.31.255.255(长度相当于16个连续的B类IP地址)C类:192.168.0.0-192.168.255.255原创 2017-03-04 12:18:20 · 2824 阅读 · 1 评论 -
golang tcp keepalive实践
前文中已经介绍了TCP keep alive的做了详尽说明,本文结合golang,介绍如何使用TCP keep alive。目前golang net包不提供TCP keep alive 开始探测时间、 探测总次数直接设置。使用第三方包,方便设置开始探测时间、探测时间间隔、探测总次数。1.下载第三方包git clone git@github.com:felixge/tcpkeepalive....原创 2019-05-26 22:39:46 · 4805 阅读 · 0 评论