命令模式

Windbg命令学习7(d*s和~s (n m ~f ~u))

可紊 提交于 2020-04-01 05:39:16
以下默认windbg加载calc程序 1. d*s dds 、 dps 和 dqs 命令显示给定范围内存的内容,它们是把内存区域转储出来,并把内存中每个元素都视为一个符号对其进行解析,dds是四字节视为一个符号,dqs是每8字节视为一个符号,dps是根据当前处理器架构来选择最合适的长度 比如要看看当前stack 中保存了哪些函数地址,就可以检查ebp 指向的内存 0:000> dds ebp 0007fdfc 0007ff1c 0007fe00 010021b0 calc!WinMain+0x25f 0007fe04 0007fee8 0007fe08 00000000 0007fe0c 00000000 0007fe10 00000000 0007fe14 7c80b741 kernel32!GetModuleHandleA 0007fe18 000a232f 0007fe1c 00000000 由于 COM Interface 和C++ Vtable 里面的成员函数都是顺序排列的,所以这个命令可以方便 地找到虚函数表中具体的函数地址。比如用下面的命令可以找到OpaqueDataInfo 类型中虚 函数对应的实际函数地址: 0:002> x ole32!OpaqueData* 76aa6a41 ole32!OpaqueDataInfo::GetOpaqueData = <no

网络基础:socket模块

﹥>﹥吖頭↗ 提交于 2020-04-01 05:36:21
socket:   套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。 基于TCP协议的socket:tcp是基于链接的,必须先启动服务端,然后再启动客户端去链接服务端 socket参数详解: socket.socket(family=AF_INET,type=SOCK_STREAM,proto=0,fileno=None) 创建socket对象的参数说明: family 地址系列应为AF_INET(默认值),AF_INET6,AF_UNIX,AF_CAN或AF_RDS。 (AF_UNIX 域实际上是使用本地 socket 文件来通信) type 套接字类型应为SOCK_STREAM(默认值),SOCK_DGRAM,SOCK_RAW或其他SOCK_常量之一。 SOCK_STREAM 是基于TCP的,有保障的(即能保证数据正确传送到对方)面向连接的SOCKET,多用于资料传送。 SOCK_DGRAM 是基于UDP的,无保障的面向消息的socket,多用于在网络上发广播信息。 proto 协议号通常为零,可以省略,或者在地址族为AF_CAN的情况下,协议应为CAN_RAW或CAN_BCM之一。 fileno

hadoop之linux常用命令

て烟熏妆下的殇ゞ 提交于 2020-04-01 04:04:54
Linux的命令后面会有命令选项,有的选项还有选项值。选项的前面有短横线“-”,命令、选项、选项值之间使用空格隔开。有的命令没有选项,会有参数。选项是命令内置的功能,参数是用户提供的符合命令格式的内容。 1.1.1. 命令提示符 在桌面上点击鼠标右键,在弹出菜单中选择“Open in Terminal”, 系统会打开终端,类似于Windows下的命令行。Windows的命令行是dos环境,Linux下的命令行是shell环境。我们的所有命令都是在shell下运行的,后面所有章节的命令也是在shell下执行的。 用户刚打开终端时,显示如下的提示符,我们要注意的是中括号里面的内容。 提示符通过符号“@”分为两部分,前面的“root”是当前登录用户。如果你使用itcast登录,那么这里会显示“[itcast@localhost Desktop]”。后面的“localhost Desktop”,被空格分为两部分,前面的“localhost”表示主机名称,是本机的唯一标识;如果我们修改了主机名称,那么该值就会变化;后面的“Desktop”表示shell显示的当前路径。中括号后面的“#”是提示shell类型,我们只关注黑色的光标在哪里就行了。 1.1.2. 路径操作 * 路径描述符 在Linux中,路径是通过斜线“/”划分的。在一个使用“/”划分的长路径中,开头的如果是“/”,这个斜线是特殊的

Github基本操作的学习与温习

邮差的信 提交于 2020-04-01 03:11:49
GitHub是最先进的分布式版本控制工具,下面是我学习中总结的操作流程,仅供参考 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Git安装 下载git的windows版本并安装,不予详述(直接打开安装包,按默认的流程一步步进行即可,任意位置点击鼠标右键弹出git 字样的选项时即为安装成功) 安装成功后输入下面命令进行设置 $ git config --global user.name "你的git账号" $ git config --global user.email "你注册git账号的邮箱" Git操作: 创建版本库 选择一个地方创建空目录(所有目录名必须是英文的,中文的会出bug) 输入下列命令 $ mkdir learngit //learngit为仓库名,可以自己命名 $ cd learngit $ pwd //显示当前目录 $ git init //将目录变为git管理的仓库 添加文件,在learngit文件夹下创建文件,输入下列命令 $ git add 文件名 /

Linux系统性能检测

自闭症网瘾萝莉.ら 提交于 2020-04-01 02:12:19
转自:http://www.cnblogs.com/itech/archive/2011/06/08/2075145.html 一 、uptime uptime命令用于查看服务器运行了多长时间以及有多少个用户登录,快速获知服务器的负荷情况。 uptime的输出包含一项内容是load average,显示了最近1,5,15分钟的负荷情况。它的值代表等待CPU处理的进程数,如果CPU没有时间处理这些进程,load average值会升高;反之则会降低。 load average的最佳值是1,说明每个进程都可以马上处理并且没有CPU cycles被丢失。对于单CPU的机器,1或者2是可以接受的值;而在一个多CPU的系统中这个值应除以物理CPU的个数,假设CPU个数为4,而load average为8或者10,那结果也是在2多点而已。 也可以使用uptime命令来判断网络性能。例如,某个网络应用性能很低,通过运行uptime查看服务器的负荷是否很高,如果不是,那么问题应该是网络方面造成的。 也可以查看/proc/loadavg 和/proc/uptime两个文件来获取相关的信息。 以下是uptime的运行实例: 二 、Top(CPU) Top命令显示了实际CPU使用情况,默认情况下,它显示了服务器上占用CPU的任务信息并且每5秒钟刷新一次。你可以通过多种方式分类它们,包括PID

LINUX网络配置---nmtui&nmcli

一笑奈何 提交于 2020-04-01 01:23:03
网络配置方法 要使用NetworkManager的文本用户界面工具nmtui配置接口 要使用NetworkManager的命令行工具nmcli配置接口 要手动配置网络接口 要使用图形用户界面工具配置网络 nmtui 文本用户界面工具nmtui可用于在终端窗口中配置接口。 发出以下命令以启动该工具: 〜] $ nmtui 安装包 yum install NetworkManager-tui nmcli 用户和脚本可以使用nmcli实用程序来控制NetworkManager: 对于服务器,headless machines和终端,nmcli可用于直接控制NetworkManager,无需GUI,包括创建,编辑,启动和停止网络连接以及查看网络状态。 对于脚本,nmcli支持简洁的输出格式,更适合脚本处理。 这是一种集成网络配置而非手动管理网络连接的方法。 nmcli命令的基本格式如下: nmcli OPTIONS OBJECT {COMMAND | help } 其中OBJECT可以是以下选项之一: general, networking, radio, connection, device, agent, and monitor。 您可以在命令中使用这些选项的任何前缀。 例如:nmcli con help。 -t 此模式设计适用于计算机(脚本)处理。 -p

nmcli命令使用以及网卡绑定bond

99封情书 提交于 2020-04-01 01:20:01
一、nmcli命令 1.什么是nmcli 以前我配置网卡的时候都要打vim /etc/sysconfig/network-scripts/ifcfg-eth0这么一长串命令,有很多配置名字还记不住就需要去看模板,好不容易配置完了,还得去重启网卡。直到今天我知道了这个nmcli命令,才发现原来配置网卡可以这么简单,妈妈再也不用担心我不会配置网卡了。 2.nmcli的用法 命令语法: nmcli[ OPTIONS ] OBJECT { COMMAND | help } 值得一提的是OBJECT和COMMAND可以用全程也可以用简称,最少可以只用一个字母,但我们一般用头三个字母,这样不容易搞错。 我们使用nmcli命令去配置网卡时如果忘记了语法命令是可以用TAB键补齐命令的。 OBJECT里我们平时用的最多的就是connection和device,这里就跟大家简单区分一下connection和device connection是连接,偏重于逻辑设置 device叫网络接口,是物理设备 多个connection可以应用到同一个device,但同一时间只能启用其中一个connection。 这样的好处是针对一个网络接口,我们可以设置多个网络连接,比如静态IP和动态IP,再根据需要up相应的connection。 下面是一些nmcli的常用命令介绍 nmcli device show

C2 shell

家住魔仙堡 提交于 2020-04-01 01:04:31
1.什么是shell? 用户与内核之间的一个接口。最流行和常用的: bash。 2.重定向 > 重定向到另外的文件。0,1,2对一个程序来说是最常用的三个文件描述符! >>是把内容附加到文件的尾部而不会覆盖文件原有的内容。 这命令啥意思? #kill -HUP 1234 >kill.std 2>kill.stderr #kill -l 1234 > kill.std 2>&1 第一条语句的解读:>kill.std等同于1>kill.std,标准输出1是默认的可以不写! 第二条语句的解读: 将标准错误输出2绑定到标准输出1,然后将标准输出重定向到kill.std。 另外一个例子: [chengmo@centos5 shell]$ ls test .sh test1.sh > /dev/null 2>&1 #将错误输出2 绑定给 正确输出 1,然后将 正确输出 发送给 /dev/null设备 这种常用 注意: (1)shell遇到”>”操作符,会判断右边文件是否存在,如果存在就先删除,并且创建新文件。不存在直接创建。 无论左边命令执行是否成功。右边文件都会变为空。很霸道的地方! (2)“>>”操作符,判断右边文件,如果不存在,先创建。以添加方式打开文件,会分配一个文件描述符[不特别指定,默认为1,2]然后,与左边的标准输出(1)或错误输出(2) 绑定。 (3)当命令执行完

linux 常用的基础命令

℡╲_俬逩灬. 提交于 2020-03-31 22:09:49
ls 查看当前文件下的内容 -a 显示目录下所有文件,包括隐藏文件 -l 以列表的形式显示你的详细信息 -h 配合-l 显示大小 有单位k。 也可以组合使用,例如 ls -lh 表示以列表的形式显示当前文件下的详细信息。文件大小人性化。 cd 切换文件目录 选项 ~ 返回到用户主目录, . 当前目录 .. 上级目录 /根目录 -返回上一步命令。最近两次目录进行切换。 touch 创建文件 touch 文件名 创建文件,如果文件已经存在,则更改文件的事件 mkdir 创建文件夹 -p 以递归创建目录。 rm 删除文件 -r 删除一个文件夹(目录) -f 文件不存在 不报错。删除的是文件 pwd 查看当前所在目录 clear 清屏 ctrl+l 命令 --help 帮助文档 man 命令 帮助手册可以分页查看 空格下一页 b上一页 q6退出 通配符 *代表任意字符 ? 一个任意字符 [abc] 可以拼配括号里(abc)任意一个 [a-f] 匹配a-f任意一个都可以 tree 树结构显示 -d 只显示目录 cp 源文件 目标文件 若需要给复制的文件重新命名,只需要在目标文件后面加文件名 若不需要,直接省略文件名。 -i 提示是否覆盖 -r 若目标文件是目录 以递归的形式复制目录 若目标文件已经存在同名目录则放入 文件夹里 ,若不存在,则把复制的文件名改为要复制的目录名。 mv 源文件

linux 基础命令应用

我怕爱的太早我们不能终老 提交于 2020-03-31 19:52:09
Linux操作系统 ==================== desktop模式 #配置ip,网关# setup 网络配置--设备配置--DHCP--【*】按空格键改为【 】--在下面配置ip、子网掩码、网关、DNS =====记得要保存再退出哦! 启动网卡配置文件 ifup eth0 ifconfig 查看ip地址是否配置成功 重启reboot后需要再次启动配置文件 ifup eth0 =============================================================== Linux下删除yunjisuan目录所有文件,但只保留一个“7”不删 【3种方法】 find find yunjisuan - type "f" !- name "7" | xargs rm -rf grep ls | grep -v "7" | xargs rm -rf 嵌套 rm -rf ` ls | grep -v "7"` =============================================================== 已知test文件, 去掉第五行内容后,输出结果 【4种方法】 head/tail head -4 test && tail -45 test grep cat test | grep -v "5" sed sed '