2014-01-18 20:56
⁄ 工业·编程
⁄ 共 1056字
1) 获取远程主机的系统类型及开放端口
nmap -sS -P0 -sV -O <target>
这里的 < target > 可以是单一 IP, 或主机名,或域名,或子网
-sS TCP SYN 扫描 (又称半开放,或隐身扫描) -P0 允许你关闭 ICMP pings. -sV 打开系统版本检测 -O 尝试识别远程操作系统
其它选项:
-A 同时打开操作系统指纹和版本检测 -v 详细输出扫描情况.
nmap -sS -P0 -A -v < target >
2) 列出开放了指定端口的主机列表
nmap -...
nmap, 软件调试阅读全文
2014-01-16 20:36
⁄ 工业·编程
⁄ 共 1834字
最近遇到一个需求,需要监控内网中的udp端口的开放情况,首先想到nmap,自己写个脚本定时调度nmap就行了,不过需要注意的是udp的端口探测并不准确,实际上目前业界的扫描器对UDP端口的探测都不能保证准确,毕竟人家TCP还有3次握手。附上代码:
#!/usr/bin/perl my @port = (80,53,46,695,696,697,698,699,32768,32769,32786,2583); #my $nmap_cmd = "nmap -sU -vv 10.128.128.21,10.128.128.26 -p694,69...
nmap, 软件调试阅读全文
2014-01-15 20:30
⁄ 工业·编程
⁄ 共 233字
nmap 比netstat 好用,可以获得端口号对应的服务名
1、扫描单台计算机
nmap localhost
nmap 192.168.1.222
2、扫描单台计算机的部分端口
nmap -p 1024-65535 192.168.1.222
3、扫描多台计算机
nmap -PT 192.168.1.1-254(使用TCP的ping方式进行扫描,没开机的就没反应)
nmap 192.168.0.0/24
nmap 192.168.*.*
nmap 192.168.1.1-10,50-60,101,123
nmap, 软件调试阅读全文
2013-12-25 23:10
⁄ 工业·编程
⁄ 共 8800字
在我看来,断言并非一个良好的报错机制,因为它们通常在同一个软件的调试版和发行版中的行为有着极大的差异。虽说如此,断言仍然是C++程序员确保软件质量的最重要的工具之一,特别是考虑到它被使用的程度和约束、不变式一样广泛。任何关于报错机制的文档如果没有提到断言的话肯定不能算是完美的。
基本上,断言是一种运行期测试,通常仅被用于调试版或测试版的构建,其形式往往像这样:
#ifdef NDEBUG # d...
软件调试阅读全文
2013-12-19 11:15
⁄ 工业·编程
⁄ 共 3149字
使用方法:包含头文件后调用静态成员即可,支持unicode。
// LogFile.h: interface for the CLogFile class. // //////////////////////////////////////////////////////////////////////
#if !defined(AFX_LOGFILE_H__288388CA_9A3E_4F3D_A2B8_F1078E1F6A6B__INCLUDED_) #define AFX_LOGFILE_H__288388CA_9A3E_4F3D_A2B8_F1078E1F6A6B__INCLUDED_
#if _MSC_VER > 1000 #pragma once #endif // _M...
Log, 代码集锦, 软件调试阅读全文
2013-12-13 13:00
⁄ 工业·编程
⁄ 共 10686字
在项目实践中发现一个好的日志记录非常重要,你需要借助Logging才能跟踪软件中的错误。所以这里研究下第三方C++库Pantheios的使用。Pantheios的架构分为前端和后端,具体概念介绍参考资料,这里只给出实际如何使用的源码示例。
这里使用的环境:
[1]Windows XP SP3
[2]Visual Studio2008 + SP1
[3]pantheios-1.0.1-beta213
[4] stlsoft-1.9.111
[5]pantheios-libselw-1.9.6.52
配置Pantheios使用环境
第一步:从参考资料...
Log, 软件调试阅读全文
2013-12-13 11:39
⁄ 工业·编程
⁄ 共 4435字
前段时间的一个C#项目我用了log4net,感觉不错。最近开了个新坑,对于服务器来说,日志是必不可少的组件,当然不仅仅是服务端程序,在大多数客户端程序上也需要用日志来记录用户的一些行为以及操作过程。除了为.net准备的log4net之外,类似的开源日志库其实还有log4j, log4cxx, log4cpp,log4cplus, glog等,还有为C语言准备的log4c,为python准备的log4p,以及最原始的log4j。对于C++系列的几个,估计有人会困扰应该选哪个,因...
Log, 软件调试阅读全文
2013-12-13 11:32
⁄ 工业·编程
⁄ 共 8457字
功能:输出日志信息logfile.h VC日志类调试信息输出,是编程调试跟踪流程的日志输出好帮手,很有助于程序的排错调试.
1、使用简单方便。只有一个头文件logfile.h include后,直接调用函数即可
2、兼容VC6,VC7(VS系列,VS2008)。 兼容所有VC版本
3、支持源代码文件名及行号的输出。输出日志所在的源文件名和行数。
4、支持多线程应用。CriticalSection...
Log, 软件调试阅读全文
2013-11-15 23:00
⁄ 工业·编程
⁄ 共 628字
CCCCCCCC
微软C++ debugging运行时用该值标记未初始化过的栈内存
CDCDCDCD
微软C++ debugging运行时用该值标记未初始化过的堆内存
FEEEFEEE
微软的HeapFree函数用该值来标记被释放了的堆内存
ABABABAB
为堆分配的内存后, 微软的HeapAlloc函数用该值标记"no man's land"哨兵位.
所谓哨兵位(Guard Byte)就是所分配的内存的起始和终止地址上的内存的值.
BAADF00D
微软的LocalAlloc函数用该...
WinDbg, 软件调试阅读全文
2013-11-14 23:00
⁄ 工业·编程
⁄ 共 857字
1. 如何Debug一个进程的子进程?
答: 使用WinDBG attach到父进程, 然后输入命令".childdbg 1"(无引号). 这样子进程在刚刚被加载的时候, WinDBG就Attach上去了. 这两个进程的debug session都在一个WinDBG的窗口里, 如果想要切换当前进程, 可以使用命令"|"来查看所有的进程, 使用"|0s"来切换到ID为0的进程, 以此类推.
2. 如何在进程刚刚加载的时候, 就使用Debugger attach上去?
答: 使用GFlags. 参...
WinDbg, 软件调试阅读全文