记录《Linux高性能服务器编程》书里面讲解到的若干 shell 命令

arp 命令查看ARP高速缓存:

  1. [root@VM_0_10_centos heliang]# arp -a
  2. ? (169.254.128.11) at fe:ee:0b:ca:e5: [ether] on eth0
  3. ? (169.254.128.5) at fe:ee:0b:ca:e5: [ether] on eth0
  4. ? (169.254.0.15) at fe:ee:0b:ca:e5: [ether] on eth0

所有知名应用层协议使用的端口号可以在  /etc/services  文件中找到

  1. cat /etc/servies

tcpdump抓包

  1. tcpdump -i eth0 -ent

DNS服务器IP地址

  1. cat /etc/resolv.conf

根据域名查出ip

  1. [heliang@localhost Desktop]$ host -t A 7haogonglu.com
  2. 7haogonglu.com has address 118.89.235.163
  3.  
  4. [heliang@localhost Desktop]$ host -t A www.baidu.com
  5. www.baidu.com is an alias for www.a.shifen.com.
  6. www.a.shifen.com has address 112.80.248.75
  7. www.a.shifen.com has address 112.80.248.76

tcpdump观察 ipv4头部结构

  1. tcpdump -ntx -i lo

然后,打开另一个终端,输入下面的 telnet命令

  1. telnet 127.0.0.1

如果你电脑提示,没有telnet命令,请参考这里的文档。

用-s 选项指定要发送的字节数

  1. [heliang@VM_0_10_centos ~]$ ping 7haogonglu.com -s 666
  2. PING 7haogonglu.com (118.89.235.163) 666(694) bytes of data.
  3. 674 bytes from 118.89.235.163: icmp_seq=1 ttl=63 time=0.443 ms

只抓取  ICMP  报文

  1. [root@VM_0_10_centos heliang]# tcpdump -ntv -i eth0 icmp
  2. tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size bytes
  3. IP (tos 0x0, ttl , id , offset , flags [DF], proto ICMP (), length )
  4. 172.21.0.10 > 118.89.235.163: ICMP echo request, id , seq , length
  5. IP (tos 0x0, ttl , id , offset , flags [DF], proto ICMP (), length )
  6. 118.89.235.163 > 172.21.0.10: ICMP echo request, id , seq , length

tcpdump抓取某个端口的数据

  1. tcpdump -n -i eth0 port

nc 网络命令,监听12345端口数据(没有这个命令的,需要安装:    yum  install  -y   nc

  1. nc -p 127.0.0.1

iperf网络工具,没有的需要安装

  1. yum -y install iperf
  2.  
  3. iperf -s

修改squid配置文件

  1. vi /etc/squid/squid.conf

telnet 远程登录

  1. telnet 192.168.12.10

查看某个端口网络状态

  1. netstat -nt | grep

可以通过修改内核参数来快速回收被关闭的socket

  1. vi /proc/sys/net/ipv4/tcp_tw_recycle

修改内核参数,来强制TCP接收缓冲区和发送缓冲区的大小没有限制

  1. vi /proc/sys/net/ipv4/tcp_rmem
  2.  
  3. vi /proc/sys/net/ipv4/tcp_wmen

监听某个端口的数据情况

 tcpdump -nt -i eth0 port 12345

  1. tcpdump -nt -i eth0 port
  2.  
  3. IP 192.168.1.101. > 192.168.1.100.italk: Flags [S], seq , win , options [mss ,sackOK,TS val ecr ,nop,wscale ], length
  4.  
  5. IP 192.168.1.100.italk > 192.168.1.101.: Flags [S.], seq , ack , win , options [mss ,sackOK,TS val ecr ,nop,wscale ], length
  6.  
  7. IP 192.168.1.101. > 192.168.1.100.italk: Flags [.], ack , win , options [nop,nop,TS val ecr ], length
  8.  
  9. IP 192.168.1.101. > 192.168.1.100.italk: Flags [P.], seq :, ack , win , options [nop,nop,TS val ecr ], length
  10.  
  11. IP 192.168.1.100.italk > 192.168.1.101.: Flags [.], ack , win , options [nop,nop,TS val ecr ], length
  12.  
  13. IP 192.168.1.101. > 192.168.1.100.italk: Flags [F.], seq , ack , win , options [nop,nop,TS val ecr ], length
  14.  
  15. IP 192.168.1.100.italk > 192.168.1.101.: Flags [F.], seq , ack , win , options [nop,nop,TS val ecr ], length
  16.  
  17. IP 192.168.1.101. > 192.168.1.100.italk: Flags [.], ack , win , options [nop,nop,TS val ecr ], length

gethostbyname通常先在本地 /etc/hosts 配置文件中查找主机,如果没有找到,再去访问DNS服务器

  1. vi /etc/hosts

----

Linux高性能服务器编程,书中的 shell 命令的更多相关文章

  1. Linux 高性能服务器编程——多线程编程

    问题聚焦:     在简单地介绍线程的基本知识之后,主要讨论三个方面的内容:    1 创建线程和结束线程:    2 读取和设置线程属性:    3 线程同步方式:POSIX信号量,互斥锁和条件变量 ...

  2. Linux 高性能服务器编程——Linux服务器程序规范

    问题聚焦:     除了网络通信外,服务器程序通常还必须考虑许多其他细节问题,这些细节问题涉及面逛且零碎,而且基本上是模板式的,所以称之为服务器程序规范.     工欲善其事,必先利其器,这篇主要来探 ...

  3. linux高性能服务器编程 (一) --Tcp/Ip协议族

    前言: 在学习swoole入门基础的过程中,遇到了很多知识瓶颈,比方说多进程.多线程.以及进程池和线程池等都有诸多的疑惑.之前也有学习相关知识,但只是单纯的知识面了解.而没有真正的学习他们的来龙去脉. ...

  4. Linux 高性能服务器编程——多进程编程

    问题聚焦:     进程是Linux操作系统环境的基础.     本篇讨论以下几个内容,同时也是面试经常被问到的一些问题:     1 复制进程映像的fork系统调用和替换进程映像的exec系列系统调 ...

  5. Linux 高性能服务器编程——I/O复用

    问题聚焦:     前篇提到了I/O处理单元的四种I/O模型.     本篇详细介绍实现这些I/O模型所用到的相关技术.     核心思想:I/O复用 使用情景: 客户端程序要同时处理多个socket ...

  6. Linux 高性能服务器编程——高性能服务器程序框架

    问题聚焦:     核心章节.     服务器一般分为如下三个主要模块:I/O处理单元(四种I/O模型,两种高效事件处理模块),逻辑单元(两种高效并发模式,有效状态机)和存储单元(不讨论). 服务器模 ...

  7. Linux 高性能服务器编程——Linux网络编程基础API

    问题聚焦:     这节介绍的不仅是网络编程的几个API     更重要的是,探讨了Linux网络编程基础API与内核中TCP/IP协议族之间的关系.     这节主要介绍三个方面的内容:套接字(so ...

  8. Linux 高性能服务器编程——TCP协议详解

    问题聚焦:     本节从如下四个方面讨论TCP协议:     TCP头部信息:指定通信的源端端口号.目的端端口号.管理TCP连接,控制两个方向的数据流     TCP状态转移过程:TCP连接的任意一 ...

  9. Linux 高性能服务器编程——IP协议详解

    1 IP服务特点 IP协议是TCP/IP协议族的动力,它为上层协议提供无状态.无连接.不可靠的服务. 无状态:IP通信双方不同步传输数据的状态信息,因此IP数据包的发送.传输和接收都是无序的.     ...

随机推荐

  1. 安全NA第一天笔记:Firewall基本理论

    防火墙的三种类型:<1>包过滤(packet filtering):也就是我们常用的访问控制列表(ACL)1.ACL类型:标准,扩展,命名,自反2.ACL其他特性:(1)重新排列序列号:  ...

  2. pixijs shader fade 从左到有右淡入 从下到上淡入效果

    pixijs shader fade 从左到有右淡入     从下到上淡入效果 const app = new PIXI.Application({ transparent: true }); doc ...

  3. hyper-v Centos7 网卡配置无效

    环境: Win 10 Hyper-v 安装虚拟机:Centos 7 遇到问题: 网络配置无效,使用命令“ip addr” 网卡没有出现在列表中,显示了一个奇怪的网卡名字如“enp0s010f”,配置文 ...

  4. pandas 学习 第5篇:DataFrame - 访问数据框

    数据框是用于存储数据的二维结构,分为行和列,一行和一列的交叉位置是一个cell,该cell的位置是由行索引和列索引共同确定的.可以通过at/iat,或loc/iloc属性来访问数据框的元素,该属性后跟 ...

  5. PlayJava Day006

    今日所学: /* 2019.08.19开始学习,此为补档. */ 构造方法没有返回值(即return为空). this:实例(对象)的引用. JVM:①static方法区:存静态数据   ②栈区:引用 ...

  6. Web基础--HTML、Css入门

    一.Web项目(可跳过,直接从下一个标题开始) 1.Web项目: 指的是带网页的项目,通过浏览器可以访问的项目.比如:淘宝.天猫等. 2.Web项目构成: 浏览器(客户端).服务器.数据库. 3.Ja ...

  7. [转]Eclipse插件开发之基础篇(4) OSGi框架

    原文地址:http://www.cnblogs.com/liuzhuo/archive/2010/08/18/eclipse_plugin_1_2_1.html 1. 什么是OSGi框架 OSGi(O ...

  8. [20190510]rman备份的疑问7.txt

    [20190510]rman备份的疑问7.txt --//上午测试rman备份时备份文件大小回缩的测试.链接:--//http://blog.itpub.net/267265/viewspace-26 ...

  9. WebUI自动化测试框架

    基于Python+Selenium+Unittest+Ddt+HTMLReport 框架结构: Business:业务相关公共模块,如登录 Common:业务无关公共模块,如读取文件 PageObje ...

  10. Windows下的命令行终端 cmder

    Windows下有很多比系统自带的cmd或者PowerShell好用的命令行工具,cmder是最为推荐的一款. 1.从cmder官网直接下载,一般下载full版本,下载完成后解压文件到自己指定的目录, ...