Linux网络编程
文章平均质量分 81
一书一茶一世界
这个作者很懒,什么都没留下…
展开
-
避免踩坑--网传二进制数值和点分十进制ip之间的转换
1.把ip地址转化为用于网络传输的二进制数值int inet_aton(const char *cp, struct in_addr *inp);inet_aton() 转换网络主机地址ip(如192.168.1.10)为二进制数值,并存储在struct in_addr结构中,即第二个参数*inp,函数返回非0表示cp主机有地有效,返回0表示主机地址无效。(这个转换完后不能用于网络传输,还需要调用htons或htonl函数才能将主机字节顺序转化为网络字节顺序)in_addr_t inet_addr(原创 2021-08-16 14:36:21 · 1250 阅读 · 0 评论 -
TCP中的RST标志(Reset)详解
在谈RST攻击前,必须先了解TCP:如何通过三次握手建立TCP连接、四次握手怎样把全双工的连接关闭掉、滑动窗口是怎么传输数据的、TCP的flag标志位里RST在哪些情况下出现。下面我会画一些尽量简化的图来表达清楚上述几点,之后再了解下RST攻击是怎么回事。1、TCP是什么?TCP是在IP网络层之上的传输层协议,用于提供port到port面向连接的可靠的字节流传输。我来用土语解释下上面的几个关键字:port到port:IP层只管数据包从一个IP到另一个IP的传输,IP层之上的TCP层...转载 2020-07-16 19:15:47 · 2568 阅读 · 0 评论 -
IO - 同步,异步,阻塞,非阻塞 (亡羊补牢篇)
当你发现自己最受欢迎的一篇blog其实大错特错时,这绝对不是一件让人愉悦的事。《 IO - 同步,异步,阻塞,非阻塞》是我在开始学习epoll和libevent的时候写的,主要的思路来自于文中的那篇link。写完之后发现很多人都很喜欢,我还是非常开心的,也说明这个问题确实困扰了很多人。随着学习的深入,渐渐的感觉原来的理解有些偏差,但是还是没引起自己的重视,觉着都是一些小错误,无伤大雅。直到有位博友问了一个问题,我...转载 2020-06-11 20:52:41 · 112 阅读 · 0 评论 -
socket编程中write、read和send、recv之间的区别
一旦,我们建立好了tcp连接之后,我们就可以把得到的fd当作文件描述符来使用。由此网络程序里最基本的函数就是read和write函数了。ssize_t write(int fd, const void*buf,size_t nbytes);write函数将buf中的nbytes字节内容写入文件描述符fd.成功时返回写的字节数.失败时返回-1. 并设置errno变量. 在网络程序中,当我们向...转载 2019-10-25 16:56:05 · 863 阅读 · 0 评论 -
socket文件传输
最近入职培训中需要写一个Linux下的C/S网络文件传输工具,在实现的过程中,遇到了一些坑,在这里 做个总结:原创 2019-05-25 17:14:53 · 1135 阅读 · 0 评论 -
IP地址,同一网段,子网掩码,默认网关,添加路由
自己在学习网络通信的这个过程中,渐渐的对网络的一些基本知识,有了一种了解,突然想把这里的一些基本的问题,进行下总结,也给自己留个笔记。(1)IP 首先来说说ip地址吧,IP地址是指互联网协议地址(Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址的作用很简单,就像是我们每个人的家庭住址都有个门牌号码一样,你在整个的互联...转载 2019-08-01 21:23:56 · 1172 阅读 · 0 评论 -
HTTP常用端口号与对应的服务说明
常用端口号与对应的服务以及端口关闭 端口简介:本文介绍端口的概念,分类,以及如何关闭/开启一个端口 21端口:21端口主要用于FTP(File Transfer Protocol,文件传输协议)服务。 23端口:23端口主要用于Telnet(远程登录)服务,是Internet上普遍采用的登录和仿真程序。 25端口:25端口为SMTP(Simple Mail Transfer P...转载 2019-08-01 21:35:04 · 9992 阅读 · 0 评论