Linux高性能服务器编程,书中的 shell 命令
记录《Linux高性能服务器编程》书里面讲解到的若干 shell 命令
arp 命令查看ARP高速缓存:
[root@VM_0_10_centos heliang]# arp -a
? (169.254.128.11) at fe:ee:0b:ca:e5: [ether] on eth0
? (169.254.128.5) at fe:ee:0b:ca:e5: [ether] on eth0
? (169.254.0.15) at fe:ee:0b:ca:e5: [ether] on eth0
所有知名应用层协议使用的端口号可以在 /etc/services 文件中找到
cat /etc/servies
tcpdump抓包
tcpdump -i eth0 -ent
DNS服务器IP地址
cat /etc/resolv.conf
根据域名查出ip
[heliang@localhost Desktop]$ host -t A 7haogonglu.com
7haogonglu.com has address 118.89.235.163 [heliang@localhost Desktop]$ host -t A www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 112.80.248.75
www.a.shifen.com has address 112.80.248.76
tcpdump观察 ipv4头部结构
tcpdump -ntx -i lo
然后,打开另一个终端,输入下面的 telnet命令
telnet 127.0.0.1
如果你电脑提示,没有telnet命令,请参考这里的文档。
用-s 选项指定要发送的字节数
[heliang@VM_0_10_centos ~]$ ping 7haogonglu.com -s 666
PING 7haogonglu.com (118.89.235.163) 666(694) bytes of data.
674 bytes from 118.89.235.163: icmp_seq=1 ttl=63 time=0.443 ms
只抓取 ICMP 报文
[root@VM_0_10_centos heliang]# tcpdump -ntv -i eth0 icmp
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size bytes
IP (tos 0x0, ttl , id , offset , flags [DF], proto ICMP (), length )
172.21.0.10 > 118.89.235.163: ICMP echo request, id , seq , length
IP (tos 0x0, ttl , id , offset , flags [DF], proto ICMP (), length )
118.89.235.163 > 172.21.0.10: ICMP echo request, id , seq , length
tcpdump抓取某个端口的数据
tcpdump -n -i eth0 port
nc 网络命令,监听12345端口数据(没有这个命令的,需要安装: yum install -y nc)
nc -p 127.0.0.1
iperf网络工具,没有的需要安装
yum -y install iperf iperf -s
修改squid配置文件
vi /etc/squid/squid.conf
telnet 远程登录
telnet 192.168.12.10
查看某个端口网络状态
netstat -nt | grep
可以通过修改内核参数来快速回收被关闭的socket
vi /proc/sys/net/ipv4/tcp_tw_recycle
修改内核参数,来强制TCP接收缓冲区和发送缓冲区的大小没有限制
vi /proc/sys/net/ipv4/tcp_rmem vi /proc/sys/net/ipv4/tcp_wmen
监听某个端口的数据情况
tcpdump -nt -i eth0 port 12345
tcpdump -nt -i eth0 port IP 192.168.1.101. > 192.168.1.100.italk: Flags [S], seq , win , options [mss ,sackOK,TS val ecr ,nop,wscale ], length IP 192.168.1.100.italk > 192.168.1.101.: Flags [S.], seq , ack , win , options [mss ,sackOK,TS val ecr ,nop,wscale ], length IP 192.168.1.101. > 192.168.1.100.italk: Flags [.], ack , win , options [nop,nop,TS val ecr ], length IP 192.168.1.101. > 192.168.1.100.italk: Flags [P.], seq :, ack , win , options [nop,nop,TS val ecr ], length IP 192.168.1.100.italk > 192.168.1.101.: Flags [.], ack , win , options [nop,nop,TS val ecr ], length IP 192.168.1.101. > 192.168.1.100.italk: Flags [F.], seq , ack , win , options [nop,nop,TS val ecr ], length IP 192.168.1.100.italk > 192.168.1.101.: Flags [F.], seq , ack , win , options [nop,nop,TS val ecr ], length IP 192.168.1.101. > 192.168.1.100.italk: Flags [.], ack , win , options [nop,nop,TS val ecr ], length
gethostbyname通常先在本地 /etc/hosts 配置文件中查找主机,如果没有找到,再去访问DNS服务器
vi /etc/hosts
----
Linux高性能服务器编程,书中的 shell 命令的更多相关文章
- Linux 高性能服务器编程——多线程编程
问题聚焦: 在简单地介绍线程的基本知识之后,主要讨论三个方面的内容: 1 创建线程和结束线程: 2 读取和设置线程属性: 3 线程同步方式:POSIX信号量,互斥锁和条件变量 ...
- Linux 高性能服务器编程——Linux服务器程序规范
问题聚焦: 除了网络通信外,服务器程序通常还必须考虑许多其他细节问题,这些细节问题涉及面逛且零碎,而且基本上是模板式的,所以称之为服务器程序规范. 工欲善其事,必先利其器,这篇主要来探 ...
- linux高性能服务器编程 (一) --Tcp/Ip协议族
前言: 在学习swoole入门基础的过程中,遇到了很多知识瓶颈,比方说多进程.多线程.以及进程池和线程池等都有诸多的疑惑.之前也有学习相关知识,但只是单纯的知识面了解.而没有真正的学习他们的来龙去脉. ...
- Linux 高性能服务器编程——多进程编程
问题聚焦: 进程是Linux操作系统环境的基础. 本篇讨论以下几个内容,同时也是面试经常被问到的一些问题: 1 复制进程映像的fork系统调用和替换进程映像的exec系列系统调 ...
- Linux 高性能服务器编程——I/O复用
问题聚焦: 前篇提到了I/O处理单元的四种I/O模型. 本篇详细介绍实现这些I/O模型所用到的相关技术. 核心思想:I/O复用 使用情景: 客户端程序要同时处理多个socket ...
- Linux 高性能服务器编程——高性能服务器程序框架
问题聚焦: 核心章节. 服务器一般分为如下三个主要模块:I/O处理单元(四种I/O模型,两种高效事件处理模块),逻辑单元(两种高效并发模式,有效状态机)和存储单元(不讨论). 服务器模 ...
- Linux 高性能服务器编程——Linux网络编程基础API
问题聚焦: 这节介绍的不仅是网络编程的几个API 更重要的是,探讨了Linux网络编程基础API与内核中TCP/IP协议族之间的关系. 这节主要介绍三个方面的内容:套接字(so ...
- Linux 高性能服务器编程——TCP协议详解
问题聚焦: 本节从如下四个方面讨论TCP协议: TCP头部信息:指定通信的源端端口号.目的端端口号.管理TCP连接,控制两个方向的数据流 TCP状态转移过程:TCP连接的任意一 ...
- Linux 高性能服务器编程——IP协议详解
1 IP服务特点 IP协议是TCP/IP协议族的动力,它为上层协议提供无状态.无连接.不可靠的服务. 无状态:IP通信双方不同步传输数据的状态信息,因此IP数据包的发送.传输和接收都是无序的. ...
随机推荐
- 重载&重写的区别
重载(Overload) 1.重载(Overload)是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型. 2.重载(Overload)是一个类中多态性的一种 ...
- 易飞ERP API接口调用DEMO
一.使用场景: 1.需要开放ERP数据给第三方系统对接,如APP手机端开发,MES,OA等: 2.接口按现在主流开发,restful风格,传JSON数据,跨平台,不限开发工具: 3.不限易飞ERP,支 ...
- 获取系统相关信息 (CPU使用率 内存使用率 系统磁盘大小)
引言 在软件开个过程中,对于软件的稳定性和使用率也是我们需要关注的 . 使用sigar来监控,简单方便! 使用说明:下载sigar jar及配合sigar的dll文件来用,需要将dll文件放到JD ...
- 最全各种系统版本的XPosed框架资料下载整理
由于XPosed在不同安卓系统版本中对应的版本不同,给很多新手造成极大困扰,本文作者经过几番努力,给大家整理了各个版本对应的xposed框架版本以及相关资料,并附上相关下载链接,希望对大伙有所帮助. ...
- oidc hybrid flow 与另外两种模式的异同
很多学习identityserver的文章都没有解释清楚oidc hybrid混合模式的含义.本文将解释hybrid模式与另外两种模式的主要区别. 我们先看一下一手文档: https://openid ...
- node.js的async和await
一.async和await是什么 ES2017 标准引入了 async 函数,使得异步操作变得更加方便,async其实本质是Generator函数的语法糖 async表示函数里有异步操作 await表 ...
- OpenGL光照1:颜色和基础光照
本文是个人学习记录,学习建议看教程 https://learnopengl-cn.github.io/ 非常感谢原作者JoeyDeVries和多为中文翻译者提供的优质教程 的内容为插入注释,可以先跳过 ...
- 高强度学习训练第十三天总结:使用Netty实现一个http服务器
Netty入门 Netty的重要性不言而喻.那么今天就来学习一下Netty. 整个项目基于Gradle搭建. Build如下所示: plugins { id 'java' } group 'cn.ba ...
- js验证手机号、身份证等
//验证手机号function check_lxdh(lxdh){ var mobile = /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0 ...
- Android MediaRecorder录制播放音频
1.请求录制音频权限 <user-permission android:name="android.permission.RECORD_AUDIO"/> RECORD_ ...