当前位置: 首页 > news >正文

广州网站设计制作报价手机移动端网站怎么做的

广州网站设计制作报价,手机移动端网站怎么做的,wordpress 做导航页面,最新的电商平台tcpdump是一款经典的抓包工具#xff0c;即使今天我们已经有了像Wireshark这样更易于使用和掌握的抓包工具#xff0c;tcpdump仍是网络程序员的必备利器。 tcpdump提供了一些选项用以过滤数据包或定制输出格式#xff0c;常见的选项如下#xff1a; 1.-n#xff1a;使用I…tcpdump是一款经典的抓包工具即使今天我们已经有了像Wireshark这样更易于使用和掌握的抓包工具tcpdump仍是网络程序员的必备利器。 tcpdump提供了一些选项用以过滤数据包或定制输出格式常见的选项如下 1.-n使用IP地址表示主机而非主机名使用数字表示端口号而非服务名。 2.-i指定要监听的网卡接口。-i any表示抓取所有网卡接口上的数据包。 3.-v输出更详细的信息如显式IP数据包中的TTL和TOS信息。 4.-t不打印时间戳。 5.-e显示以太网帧头部信息。 6.-c仅抓取指定数量的数据包。 7.-x以十六进制数显示数据包的内容但不显示包中以太网帧的头部信息。 8.-X与7类似但还打印每个十六进制字节对应的ASCII字符。 9.-XX与8类型但还打印以太网帧的头部信息。 10.-s设置抓包时的抓取长度当数据包的长度超过抓取长度时tcpdump抓取到的是被截断的数据包。在4.0及之前的版本中默认的抓包长度是68字节这对于IP、TCP、UDP等协议时足够的但对于DNS、NFS等协议68字节通常不能容纳一个完整的数据包。4.0版本后默认的抓包长度被修改为65535字节。 11.-S以绝对值来显示TCP报文段的需要而非相对值。 12.-w将tcpdump的输出以某种格式定向到某个文件。 13.-r从文件读取数据包信息并显示之。 除了使用选项外tcpdump还支持用表达式进一步过滤数据包tcpdump表示式的操作数分为3种 1.类型解释其后面跟着的参数的含义其可选值包括host、net、port、portrange它们分别指定主机名或IP地址、用CIDR方法表示的网络地址、端口号、端口范围。如要抓取整个1.2.3.0/255.255.255.0网络上的数据包可用以下命令 2.方向其可选值为src指定数据包的发送端、dst指定数据包的目的端。如要抓取进入端口13579的数据包可用以下命令 3.协议指定目标协议如要抓取所有ICMP数据包可用以下命令 我们还可使用逻辑操作符来组织上述操作数以创建更复杂的表达式tcpdump支持的逻辑操作符和编程语言中的逻辑操作符完全相同包括and、or||、not。如要抓取主机ernest-laptop和所有非Kongming20的主机之间交换的IP数据包可用以下命令 如果表达式比较复杂我们可以用括号将它们分组但在使用括号时我们要么用反斜杠\对它转义要么使用单引号将其括住以避免它被shell所解释。如要抓取来自主机10.0.2.4目标端口是3389或22的数据包可使用如下命令 tcpdump还允许直接使用数据包中的部分协议字段的内容来过滤数据包如仅抓取TCP同步报文段可使用如下命令 这是因为TCP头部的第14个字节的第2个位是同步标志该命令也可表示为 tcpdump的具体输出格式除了与选项有关外还与协议有关具体可参考tcpdump的man手册。 lsoflist open file命令是一个列出当前系统打开的文件描述符的工具通过它我们可以了解感兴趣的进程打开了哪些文件描述符或者我们感兴趣的文件描述符被哪些进程打开了。 lsof命令常用的选项 1.-i显示socket文件描述符该选项的使用方法是 其中4表示IPv4协议6表示IPv6协议protocol指定传输层协议可以是TCP或UDPhostname指定主机名ipaddr指定主机的IP地址service指定服务名port指定端口号。如要显示所有连接到主机192.168.1.108的ssh服务的socket文件描述符可用以下命令 如果-i后不跟任何参数则lsof命令将显示所有socket文件描述符。 2.-u显示指定用户启动的所有进程打开的所有文件描述符。 3.-c显示指定的命令打开的所有文件描述符比如要查看websrv程序打开了哪些文件描述符可用以下命令 4.-p显示指定进程打开的所有文件描述符。 5.-t仅显示打开了目标文件描述符的进程的PID。 我们还可直接将文件名作为lsof命令的参数以查看哪些进程打开了该文件。 查看websrv服务器打开了哪些文件描述符 lsof命令的每行输出内容包含以下字段 1.COMMAND执行程序所使用的终端命令。默认仅显示前9个字符。 2.PID文件描述符所属进程的PID。 3.USER拥有该文件描述符的用户的用户名。 4.FD文件描述符的描述。其中cwd表示进程的工作目录rtd表示用户的根目录txt表示进程运行的程序代码mem表示直接映射到内存中的文件上例中都是动态库。有的FD格式为数字访问权限其中数字是文件描述符额具体数值访问权限包括r可读、w可写、u可读可写上图中0u、1u、2u分别表示标准输入、标准输出、标准错误输出3u表示处于LISTEN状态的监听socket4u表示epoll内核事件表对应的文件描述符。 5.TYPE文件描述符的类型。其中DIR是目录REG是普通文件CHR是字符设备文件IPv4是IPv4类型的socket文件描述符0000是未知类型。更多类型可参考lsof命令的man手册。 6.DEVICE文件所属设备。对于字符设备和块设备其表示方法是主设备号,次设备号由上图可见测试机器上的程序文件和动态库都放在设备8,3上其中8表示这是一个SCSISmall Computer System Interface小型计算机系统接口硬盘3表示这是该硬盘上的第3个分区即sda3。websrv进程的标准输入、标准输出、标准错误对应的设备是136,3其中136表示这是一个伪终端3表示它是第3个伪终端即/dev/pts/3。对于FIFO类型的文件如管道和socket该字段将显示一个内核引用目标文件的地址或者是其i节点号。 7.SIZE/OFF文件大小或偏移值。如果如果该字段显示为0t*或0x*就表示这是一个偏移值否则就表示这是一个文件大小。对字符设备或FIFO类型的文件定义文件大小没有意义所以该字段将显示一个偏移值。 9.NODE文件的i节点号。对于socket则显示为协议类型如TCP。 10.NAME文件名。 如果我们使用telnet命令向websrv服务器发起一个连接再次执行上图中的lsof命令时会多输出以下行 该输出表示服务器打开了一个IPv4类型的socket其值为5且它处于ESTABLISHED状态。该socket对应的连接的本端socket地址是(127.0.0.1, 13579)远端socket地址是(127.0.0.1, 48215)。 ncnetcat命令主要用来快速构建网络连接我们可以让它以服务器方式运行监听某个端口并接收客户连接因此它可用来调试客户端程序我们也可以使之以客户端方式运行向服务器发起连接并收发数据因此它可用来调试服务器程序此时它有点像telnet程序。 nc命令常用的选项 1.-i设置数据包传送的时间间隔。 2.-l以服务器方式运行监听指定的端口。nc命令默认以客户端方式运行。 3.-k保持服务器持续监听nc不会在客户端连接终止后退出而是继续保持监听状态必须与-l选项一起使用。 4.-n使用IP地址表示主机而不是主机名使用数字表示端口号而不是服务名。即不做任何DNS或服务查找此时用户需要提供原始IP地址和端口号使用该选项的情形 1需要快速测试避免额外的解析带来的时间消耗。 2DNS解析不可用时可以使用IP进行连接。 3需要指定特定的地址避免解析结果带来的不确定性。 5.-p当nc命令以客户端运行时强制其使用指定的端口号。 6.-s设置本地主机发送出的数据包的IP地址。 7.-C将CR和LF两个字符作为行结束符。 8.-U使用UNIX本地域协议通信。 9.-u使用UDP协议。nc命令默认使用的传输层协议是TCP协议。 10.-w如果nc客户端在指定的时间内未检测到任何输入则退出。 11.-X当nc客户端和代理服务器通信时该选项指定它们之间使用的通信协议目前nc支持的代理协议有4SOCKS v.4、5SOCKS v.5、connectHTTPS proxync默认使用的代理协议是SOCKS v.5。 12.-x指定目标代理服务器的IP地址和端口号比如要连接到ernest-laptop上的squid代理服务器并通过它来访问www.baidu.com的Web服务可用以下命令 13-z扫描目标机器上的某个或某些服务是否开启端口扫描比如要扫描机器ernest-laptop上端口在20~50之间的服务可用以下命令 我们可用以下方式来连接websrv服务器并向它发送数据 上图中使用了-C选项这样我们每次按下回车键向服务器发送一行数据时nc客户端都会给服务器额外发送一个CRLF这正是websrv服务器期望的HTTP行结束符。发完第三行数据后我们得到了服务器的响应内容正是我们期望的服务器没有找到被请求的资源文件a.html。 strace跟踪程序运行过程中指定的系统调用和接收到的信号并将系统调用名、参数、返回值、信号名输出到标准输出或指定文件。 strace命令常用选项包括 1.-c统计每个系统调用执行时间、执行次数、出错次数。 2.-f跟踪由fork函数生成的子进程。 3.-t在输出的每行信息前加上时间信息。 4.-e指定一个表达式用来控制如何跟踪系统调用或接收到的信号下同其格式为 qualifier可以是trace、abbrev、verbose、raw、signal、read、write之一默认是trace。value是用于进一步限制被跟踪的系统调用的符号或数值它的两个特殊取值时all和none分别表示跟踪所有由qulifier指定类型的系统调用和不跟踪任何该类型的系统调用。以下是其他value取值 1-e traceset只跟踪指定的系统调用。例如-e traceopen, close, read, write表示只跟踪open、close、read、write这4种系统调用。 2-e tracefile只跟踪与文件操作相关的系统调用。 3-e traceprocess只跟踪与进程控制相关的系统调用。 4-e tracenetwork只跟踪与网络相关的系统调用。 5-e tracesignal只跟踪与信号相关的系统调用。 6-e traceipc只跟踪与进程间通信相关的系统调用。 7-e signalset只跟踪指定信号如-e signal!SIGIO表示跟踪除SIGIO之外的所有信号。 8-e readset输出从指定文件中读入的数据如-e read3, 5表示输出所有从文件描述符3和5读入的数据。 5.-o将strace的输出写入指定的文件。 strace命令的每行都包含以下字段系统调用名、参数、返回值如下面的实例 这行输出表示程序cat /dev/null在运行过程中执行了open系统调用open调用以只读方式打开了大文件/dev/null然后返回了值为3的文件描述符。上图中命令会输出很多内容我们省略了次要的信息后面的示例中我们也仅显示主题相关的内容。 当系统调用发生错误时strace命令将输出错误标识和描述如以下示例 上图中的O_LARGEFILE并不是POSIX标准的一部分而是一些UNIX-like操作系统的扩展它通常用于兼容早期UNIX系统告诉操作系统要支持大文件大于2 GB的访问。 stace命令对不同的参数类型也有不同的输出方式 1.对于C风格字符串strace将输出字符串的内容。默认的最大输出长度是32字节对于过长的部分strace会使用...省略比如ls -l命令在运行过程中将读取/etc/passwd文件 文件名不被strace当作C风格字符串其内容总是被完整输出。 2.对于结构体strace将用{}输出该结构体的每个字段并用,将每个字段隔开对于字段较多的结构体strace将用...省略部分输出比如 上图中的lstat64函数不是标准C库函数而是一种在一些UNIX-like操作系统上可用的扩展函数它类似于标准的lstat函数但支持大文件大于2 GB的文件属性查询以确保文件属性信息能够正确获取和处理。 上面的strace输出显示lstat64系统调用的第一个参数是字符串参数/dev/null第二个参数是stat结构体类型的输出参数指针strace仅显示了该结构体参数的两个字段st_mode和st_rdev当系统调用失败时输出参数将显示为传入前的值。 3.对于位集合参数如信号集类型sigset_tstrace将用[]输出该集合中所有被置1的位并用空格隔开每一项假设某程序中有以下代码 则针对该程序的strace命令将输出以下内容 对于其他类型参数的输出方式可参考strace的man手册。对于程序接收到的信号strace将输出该信号的值及其描述比如我们在一个终端上运行sleep 100命令然后在另一个终端上使用strace命令跟踪该进程接着用CtrlC终止命令sleep 100以观察strace的输出具体操作如下 下面考虑一个使用strace命令的完整例子查看websrv服务器在处理客户连接和数据时使用系统调用的情况具体操作如下 可见服务器当前正在执行epoll_wait系统调用以等待客户请求接下来我们使用以上nc命令对服务器发起一个连接并逐行发送HTTP请求此时strace命令的输出如下所示 上图的输出分为五个部分我们用空行将每个部分隔开 1.第一部分从第一次epoll_wait系统调用开始此次epoll_wait调用检测到了文件描述符3上的EPOLLIN事件文件描述符3是服务器的监听socket因此这个事件表示有新客户连接到来于是websrv服务器对监听socket执行了accept调用accept返回一个新的连接socket其值为5接着服务器清除这个新socket上的错误设置其SO_REUSEADDR属性然后往epoll内核事件表中注册该socket上的EPOLLRDHUP和EPOLLONESHOT两个事件然后设置新socket为非阻塞的。 2.第二部分从第二次epoll_wait系统调用开始此次epoll_wait函数检测到了文件描述符5上的EPOLLIN事件这表示客户端的第一行数据到达了于是服务器执行了两次recv系统调用来接收数据第一次recv函数读取到38字节的客户数据即GET http://localhost/a.html HTTP/1.1\r\n。第二次recv函数失败了errno是EAGAIN这表示目前没有更多的客户数据可读。此后服务器调用了futex函数对互斥锁解锁以唤醒等待互斥锁的线程。可见POSIX线程库中的pthread_mutex_unlock函数在内部调用了futex函数。 3.与2类似。 4.与2类似。 5.epoll_wait函数检测到了文件描述符5上的EPOLLOUT事件这表示工作线程正确处理了客户请求并准备好了待发送的数据因此主线程开始执行writev系统调用往客户端写入HTTP应答最后服务器从epoll内核事件表中移除文件描述符5上的所有注册事件并关闭该文件描述符。 netstat可以打印本地网卡接口上的全部连接、路由表信息、网卡接口信息等本书主要使用上述功能中的第一个即显示TCP连接及其状态信息毕竟要想获得路由表信息和网卡接口信息我们可以使用输出内容更丰富的route管理和显示系统的网络路由表的命令和ifconfig命令。 netstat命令常用选项 1.-n使用IP地址表示主机而不是主机名使用数字表示端口号而不是服务名。 2.-a也显示监听socket。 3.-t仅显示TCP连接。 4.-r显示路由信息。 5.-i显示网卡接口的数据流量。 6.-c每隔1秒输出一次。 7.-o显示socket定时器如保活定时器的信息。 8.-p显示socket所属的进程的PID和名字。 运行websrv服务器并执行telnet命令对它发起一个连接请求 然后执行netstat -nat | grep 127.0.0.1:13579来查看连接状态结果如下 由上图netstat的每行输出都包含以下6个字段默认情况 1.Proto协议名。 2.Recv-Qsocket内核接收缓冲区中尚未被应用进程读取的数据量。 3.Send-Q未被对方确认的数据量。 4.Local Address本端的IP和端口号。 5.Foreign Address对方的IP地址和端口号。 6.Statesocket的状态。对于无状态协议如UDP这一列将显示为空。对于面向连接的协议netstat支持的State包括ESTABLISHED、SYN_SENT、SYN_RCVD、FIN_WAIT1、FIN_WAIT2、TIME_WAIT、CLOSE、CLOSE_WAIT、LAST_ACK、LISTEN、CLOSING、UNKNOWN。 上图的输出中第1行表示本地socket地址127.0.0.1:13579处于LISTEN状态并等待任何远端socket用0.0.0.0:*表示对它发起连接。第2行表示服务器和远端地址127.0.0.1:48220建立了一个连接。第3行是从客户端角度重复输出第2行信息表示的这个连接因为我们是在同一台机器上运行服务器和客户端的。 vmstatvirtual memory statistics命令能实时输出系统的各种资源的使用情况如进程信息、内存使用、CPU使用率、IO使用情况。 vmstat命令常用选项 1.-f显示系统自启动以来执行的fork次数。 2.-s显示内存相关的统计信息及多种系统活动的数量如CPU上下文切换次数。 3.-d显示磁盘相关的统计信息。 4.-p显示磁盘分区的统计信息。 5.-S使用指定单位来显示。参数k、K、m、M分别代表1000、1024、1000000、1048576字节。 6.delay采样间隔单位是秒即每隔delay的时间输出一次统计信息。 7.count采样次数输出count次统计信息。 默认vmstat命令的输出 第1行输出是自系统启动以来的平均结果而后面的输出是采样间隔内的平均结果。vmstat命令的每条输出都包含6个字段它们的含义分别是 1.procs进程信息。r表示等待运行的进程数b表示处于不可中断睡眠状态的进程数即它们在等待进程IO。 2.memory内存信息。各项的单位都是KB。swpd表示虚拟内存的使用量。free表示空闲内存的使用量。buff表示作为buffer cache的内存数量其中包含原始磁盘块从磁盘读入的数据可能被保持在buffer cache中以便下一次快速访问。cache表示作为page cache的内存数量待写入磁盘的数据首先被放到page cache中然后由磁盘中断程序写入磁盘。 3.swap交换分区虚拟内存的使用信息各项的单位是KB/s。si表示数据由磁盘交换至内存的速率。so表示数据由内存交换至磁盘的速率。如果这两个值经常变化说明内存不足。 4.io块设备的使用信息单位是block/s。bi表示从块设备读入块的速率。bo表示向块设备写入块的速率。 5.system系统信息。in表示每秒发生的中断次数。cs表示每秒发生的上下文切换进程切换次数。 6.cpuCPU使用信息。us表示系统所有进程运行在用户空间的时间占CPU总运行时间的比例。sy表示系统所有进程运行在内核空间的时间占CPU总运行时间的比例。id表示CPU处于空闲状态的时间占CPU总运行时间的比例。wa表示CPU等待IO事件的时间占CPU总运行时间的比例。 我们可用iostat命令获得磁盘使用情况的更多信息也能使用mpstat命令获得CPU使用情况的更多信息vmstat命令主要用于查看系统内存的使用情况。 ifstatinterface statistics命令可用于监测网络流量其常用选项如下 1.-a监测系统上所有网卡接口。 2.-i指定要监测的网卡接口。 3.-t在每行输出信息前加上时间戳。 4.-b以Kbit/s为单位显示数据而不是默认的KB/s。 5.delay采样间隔单位是秒即每隔delay时间输出一次统计信息。 6.count采样次数即总共输出count次统计信息。 ifstat命令的例子 从输出来看该主机拥有两个网卡接口虚拟的回路接口lo和以太网网卡接口eth0。使用ifstat命令可以大概估计各个时段服务器的总输入、输出流量。 mpstatmulti-processor statistics命令能实时监测多处理器系统上每个CPU的使用情况。mpstat命令和iostat命令通常都集成在包sysstat中安装sysstat即可获得这两个命令。mpstat命令的典型用法如下 选项P指定要监听的CPU号0~CPU个数-1其值ALL表示监听所有CPU。interval参数是采样间隔单位是秒即每个interval的时间输出一次统计信息。count参数是采样次数即共输出count次统计信息但mpstat命令最后还会输出这count次采样结果的平均值。与vmstat命令一样mpstat命令输出的第一次结果是自系统启动以来的平均结果而后面的输出结果则是采样间隔内的平均结果。 使用mpstat命令的例子 为显示方便我们省略了每行输出的前导时间戳。每次采样的输出都包含3条信息每条信息包含以下几个字段 1.CPU指示该条信息是哪个CPU的数据。0表示第1个CPU的数据1表示第2个CPU的数据all是这两个CPU数据的平均值。 2.%usr除了nice值为负的进程系统上其他进程运行在用户空间的时间占CPU总运行时间的比例。 3.%nicenice值为负的进程运行在用户空间的时间占CPU总运行时间的比例。 4.%sys系统上所有进程运行在内核空间的时间占CPU总运行时间的比例但不包括硬件和软件中断消耗的CPU时间。 5.%iowaitCPU等待磁盘操作的时间占CPU总运行时间的比例。 6.%irqCPU用于处理硬件中断的时间占CPU总运行时间的比例。 7.%softCPU用于处理软件中断的时间占CPU总运行时间的比例。 8.%steal一个物理CPU可以包含一对虚拟CPU这一对虚拟CPU由超级管理程序管理。当超级管理程序在处理某个虚拟CPU时另外一个虚拟CPU必须等待它处理完成才能运行这部分等待事件就是steal时间该字段表示steal时间占CPU总运行时间的比例。 9.%guest运行虚拟CPU的时间占总运行时间的比例。 10.%idle系统空闲的时间占CPU总运行时间的比例。 在以上所有输出字段中我们最关心的是%user、%sys、%idle它们基本反映了我们的代码中业务逻辑代码和系统调用所占的比例以及系统还能承受多大的负载。上图输出中执行系统调用占用的CPU时间比执行用户业务逻辑占用的CPU时间要多这是因为我们运行了第十六章中的压力测试工具它在不停地执行recv/send系统调用来收发数据。
http://www.hkea.cn/news/14441678/

相关文章:

  • 企业网站排名软件能优化尤溪住房和城乡建设局网站
  • 替人做赌彩网站被判刑网站建站费用
  • 揭秘杭州亚运会开幕式亮点手机优化不到80怎么办
  • 南昌新手网站建设费用网站排名稳定后后期如何优化
  • 网站推广的技巧和方法dedecms告侵权
  • 母婴类网站 网站建设方案书 备案网站建设 pdf
  • 找素材的网站大全wordpress电商教程
  • 网站标识包头网站建设价格
  • 丢盖网logo在线设计泰州做网站优化
  • 网站开发作业图片网站编辑器无法显示
  • 浪漫免费表白网站live2d wordpress
  • 营销网站建设报价五家渠网站建设
  • 注销网站备案申请表做代理需要自己的网站吗
  • 做后期从哪个网站选音乐网站登记备案表
  • 网站搜索优化公司小程序助手公众平台
  • 不关闭网站备案wordpress安装上传文件
  • 自己怎么用h5做网站外贸网站功能
  • 网站建设与推广王钊做兼职去什么网站
  • 搞笑网站模板广告推广方案范文
  • 做系统网站网站怎么建设dw
  • 网站建设市场前景网站定制排名
  • 江门云建站模板国外网站源代码
  • 网站风格设计兼职网站建设策划书
  • 龙信建设集团有限公司网站共享看世界新域名
  • 合肥网站开发培训手机端网站建设要点
  • 网站流量监控网站建设分金手指专业十三
  • 昆山科技网站建设wordpress gif
  • 老外做牛排的视频网站网站设计原型图
  • 制作网站要多少钱网络托管公司有哪些
  • 如何创做网站网站企业备案资料