没有项目描述

gensend的Python项目详细描述


生成并发送数据
==
=

关于


security
gensend提供钩子生成数据的方式使得提供通用接口以允许来自不受信任源的任意输入变得非常不安全。请不要这样做。



\syntax
语法很简单,每个"pattern"都是一个字符串。您可以在字符串中的任何位置使用"%{api_call_name}"形式的表达式,提供参数可以使用"%{api_call_name:arg1,arg2}"。

查询片段`。当前仅支持原始TCP/UDP,即:TCP://127.0.0.1:8000,UDP://127.0.0.1:8000。

\
模式语法的灵感来自grok模式,因为这是我将要建模的大部分数据。我发现了一些需要嵌套表达式的情况,因此添加了对该表达式的支持。我不认为我会添加更多内容,因为使用python'as t'包并要求实际的python语法并执行它可能更有意义,或者如果数据提供程序变得更加复杂,则使用jinja2模板和一些包装器,因为解析器是一个下午的工作。



##api
http://www.joke2k.net/faker/上faker for python中提供的所有api调用都可以作为表达式%{faker_name}以及一些附加的表达式使用。对于一些附加功能,您可以随意在gensend/providers/common中进行挖掘。

我知道……不过,这很方便)而且在任何一个"提供者列表"中都会含糊其辞。示例文件myproviders.py:

`` python
来自gensend。providers导入providerList,provider



class myfirstprovider(provider):
def myhellofunc(self,*args):
返回"myhellofunc"



class mysecondprovider(provider):
def secondfunc(self,*args):
return'secondfunc:'+str(args)


``````

现在可以从模式调用它们:

`````
$gensend--5号-l myproviders.py gen'func1:"%{myhellofun"c}"func2:"{secondfunc:foo,bar}'
func1:"myhellofunc"func2:"secondfunc:('foo','bar')
func1:"myhellofunc"func2:"secondfunc:('foo','bar')
func1:"myhellofunc"func2:"secondfunc:('foo','bar')
func1:"myhellofunc"func2:"secondfunc:('foo','bar')
func1:"myhellofunc"hellofunc"func2:"secondfunc:('foo','bar')
````



````

你好。
我叫萨丽塔·费里。你好。
``

用"--number n"标志重复输出:

```
$gensend--number 5 gen'我的名字是%{name}。你好。
我叫德怀特·维索克。你好。
我叫杰米尔·阿布希尔。你好。
我叫赫尔加·格兰特。你好。
我叫杰西·阿布希尔女士。你好。
我叫泽尔玛·莱德纳·德文。你好。
``

你好。'
[
"我叫德洛斯·罗德里格斯。你好,",
"我叫罗伊·怀特。你好,",
"我是老蒙特尔·奥康奈尔先生。你好,",
"我叫赞尼娅·汉德。你好,",
"我叫怀亚特·贝尔。您好,"
]
```

>嵌套表达式:

````
$gensend--number 5 gen"我的选择是"%{choice:%{address},%{name},%{ipv4},%{name}}"
我的选择是"evelena predovic dds"
我的选择是"Christoper Feeney博士"
我的选择是"28.139.1.107"
我的选择是"59303 Nobie Roads
New Makailabury,MI 90325"
我的选择是"020 Rath Loop
Kuhlmanside,SC 49924"
`````

5万{5万{5{5{5{1]90965{br/>>$gensend--5-l myproviders.py send'func1:"{myhellofunc}"func2:"{secondfunc:foo,bar}{lf}'''''tcp://127.0.0.0.0.0.0.1:50000'
1:55490.1:55490
func1:myhellofunc"func2:secondfunc:('foo,'foo,'bar')


1:0.0.0.0.1:55490.1:55490
1>[TCP]func1:"myhellofunc"func2:"secondfunc:('foo','bar')
func1:"myhellofunc"func2:"secondfunc:('foo','bar')

[TCP]func1:"myhellofunc"func2:"secondfunc:('foo','bar')
[TCP]func1:"myhellofunc"func2:"secondfunc:('foo','bar')

[TCP]func1:"myhellofunc"func2:"secondfunc:('foo','bar')
func1:"myhellofunc"func2:"secondfunc:('foo','bar')

[tcp]func1:"myhellofunc"func2:"secondfunc:('foo','bar')
[tcp]func1:"myhellofunc"func2:"secondfunc:('foo','bar')

[tcp]func1:"myhellofunc"func2:"secondfunc:('foo','bar')
[1]+完成netcat-t-v-l-p 50000 awk'{print"[tcp]"$0}
````



r/>[--nosed--seed seed]
{info,gen,send}…



可以包含并添加到默认
提供程序列表中。
--模式模式,-p模式
包含由
new lines when.txt分隔的模式字符串的可选文件,或json arr
时的模式日期。json
--格式格式格式,-f format
输出数据格式,txt、json或csv之一
默认值:txt
--调试,-d调试标志,用于其他疑难解答信息
--数字r生成模式的次数,默认值:1
--发送多条消息时保持连接打开。注意当使用这个选项时,如果需要,您应该终止您的模式。默认值:true
--noseed不将伪随机数生成器种子化为
生成非确定性数据
--seed种子化伪随机数生成器,默认值:1

命令:
{info,gen,send}
gen例如:Gensend Gen Pattern1…patternn
发送ex:gensend发送pattern1…patternn
scheme://netloc/path;参数?查询碎片
````








```
``

```
```
`````
$pip安装https://github.com/cstockton/pygengensend.git
````



````手工安装:

``````
`>$cd/tmp
<>$git克隆https://github.com/cstockton/pygensensenend/pygensensensenend/gensensensensenend/gensensensen.git
$cd./py-gensend
$make install
```



````
$cd/tmp
$git clone https://github.com/cstockton/py gensend.git
$make build&;make test
```

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
具有未知数量条件的java If语句   java如何在Spark中使用两个“条件”进行过滤?   雅加达ee为ColdFusion提供的最佳Java ee服务器   java如何在jersey的MessageBodyWriter方法中获取writeTo中的anotations值?   java从脚本文件调用jar文件中的函数   java在执行insert语句后,如何获得id值为的语句?   在OS X上设置OpenCV Java绑定   java使用for循环遍历数组x。以字符串形式返回x的元素,其中每个元素由一个空格分隔   ApacheiClientBuilder为Algolia Java创建的APIClient是线程安全的吗?   java在DFS/BFS算法中获取邻居时避免内存分配?   java使用AES/CBC/PKCS5P加密大文件(2GB)   允许保存/加载列布局的Java DB网格组件   队列大小为1的java Spring调度   跑步带有Java参数的exe   java正则表达式将所有“<”和“>”标记替换为“&lt;”及“&gt;”在<<![CDATA]>标签?   java何时同步变量?