第一天有利网的工作(python安全开发)

来源:互联网 发布:淘宝小二误判如何申诉 编辑:程序博客网 时间:2024/05/17 05:16

1.nohup

nohup 命令

用途:不挂断地运行命令。

语法:nohup Command [ Arg … ] [ & ]

描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示”and”的符号)到命令的尾部。

无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。

退出状态:该命令返回下列出口值:

126 可以查找但不能调用 Command 参数指定的命令。

127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。

否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。

nohup命令及其输出文件

nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( n ohang up)。

该命令的一般形式为:nohup command &

使用nohup命令提交作业

如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:

nohup command > myout.file 2>&1 &

在上面的例子中,输出被重定向到myout.file文件中。

使用 jobs 查看任务。

使用 fg %n 关闭。

2.nslookup与dig

nslookup是站长较为常用的工具之一,它甚至比同类工具dig的使用人数更多,原因是它的运行环境是windows,并且不需要我们再另外安装什么东西。dig是在linux环境里运行的命令,不过也可以在windows环境里使用,只是需要安装dig windows版本的程序。

  nslookup主要是用来查询dns服务器信息,不过,nslookup的作用绝非仅此而止,利用nslookup命令,还可以查到更多有关域名的服务器信息,IP、CNAME、TLL等等。  之前曾写过一篇《通过DOS命令nslookup查域名DNS服务器》,这是nslookup的交互式使用方法,用起来貌似比较复杂。今天,将继续挖掘nslookup的更丰富更内涵的,同时也更易操作的奥秘。  nslookup 域名  这是最常用最简单的用法,可以直接获得目标域名的IP地址和CNAME。  如下是A记录的返回情况  nslookup命令会采用先反向解释获得使用的DNS服务器的名称,上图中ns.guangzhou.gd.cn就是我使用的DNS服务器。后面三行,Name是目标域名的CNAME,Address是目标域名的IP地址,Aliases是目标域名。  nslookup –qt=类型 目标域名

  注意qt必须小写。

  类型可以是一下字符,不区分大小写:

  A 地址记录(Ipv4)
  AAAA 地址记录(Ipv6)
  AFSDB Andrew文件系统数据库服务器记录(不懂)
  ATMA ATM地址记录(不是自动提款机)
  CNAME 别名记录
  HINFO 硬件配置记录,包括CPU、操作系统信息
  ISDN 域名对应的ISDN号码
  MB 存放指定邮箱的服务器
  MG 邮件组记录
  MINFO 邮件组和邮箱的信息记录
  MR 改名的邮箱记录
  MX 邮件服务器记录
  NS 名字服务器记录
  PTR 反向记录(从IP地址解释域名)
  RP 负责人记录
  RT 路由穿透记录(不懂)
  SRV TCP服务器信息记录(将有大用处)
  TXT 域名对应的文本信息
  X25 域名对应的X.25地址记录

  看看www.webkaka.com的CNAME记录吧。  再看看ns(名字服务器)的记录是怎样的。  说明一下,大家注意一行显示“Non-authoritative answer:”,它的出现代表这个结果是从服务器的缓存中得到的,这不是一个授权的答案。  nslookup [-qt=类型] 目标域名 指定的DNS服务器IP或域名  这条指令非常实用,利用它我们可以查到目标域名在各地DNS的解析情况。  看看www.webkaka.com在四川电信的解析情况(四川电信的DNS是61.139.2.69)。  加上类型查询,看看域名的TXT。  nslookup –d [其他的参数] 目标域名 [指定的服务器地址]  这条指令可以检查域名的缓存时间,检查域名的缓存时间需要我们使用一个新的参数:-d  请看范例  我们忽略其他的,看看Got answer后面几行,包括了一个ttl数值。这个数值就是域名记录的生存时间。  一般来说linux下查询域名解析有两种选择,nslookup或者dig,而在使用上我觉得dig更加方便顺手。

如果是在debian下的话,只要装上dnsutils这个包就可以使用dig命令了。

最基本的使用方式就是

dig www.oolec.com

即查询域名的A记录,查询的dns服务器将采用系统配置的服务器,即/etc/resovle.conf 中的。

如果要查询其他类型的记录,比如MX,CNAME,NS,PTR等,只需将类型加在命令后面即可

dig www.oolec.com mxdig www.oolec.com ns

此外,如果你是一个系统管理员,部署好了一台dns服务器之后想对它进行解析测试,就必须要显式指定待测试的dns服务器地址了,例如

dig @202.106.0.20 www.oolec.com a

默认情况下dig将采用udp协议进行查询,如果要采用tcp方式,可以加上 +tcp参数

dig www.oolec.com a +tcp

另外一个重要的功能是+trace参数,使用这个参数之后将显示从根域逐级查询的过程

dig www.oolec.com a +trace

3.import

Python 的内置函数import

我们知道import语句是用来导入外部模块的,当然还有from…import…也可以,但是其实import实际上是使用builtin函数import来工作的。
在一些程序中,我们可以动态地去调用函数,如果我们知道模块的名称(字符串)的时候,我们可以很方便的使用动态调用。

import glob,os  modules = []  for module_file in glob.glob("*-plugin.py"):      try:         module_name,ext = os.path.splitext(os.path.basename(module_file))         module = __import__(module_name)         modules.append(module)      except ImportError:         pass #ignore broken modules      #say hello to all modules      for module in modules:         module.hello()  

使用import函数获得特定函数

def getfunctionbyname(module_name,function_name):      module = __import__(module_name)      return getattr(module,function_name)  

还可以使用这个函数实现延迟化的模块导入

class LazyImport:        def __init__(self,module_name):            self.module_name = module_name            self.module = None        def __getattr__(self,name):            if self.module is None:               self.module = __import__(self.module_name)            return getattr(self.module,name)  string = LazyImport("string")  print string.lowercase  

import进阶进阶知识,请访问

4.settar

5.装饰器

6.CSRF

7.stringIO

8.os.popen()与os.system()区别

原创粉丝点击