Skip to content

Commit

Permalink
Song/feat/packetsize (#2094)
Browse files Browse the repository at this point in the history
* feat: 转储数据包大小

* fix: 回车需要校验

* del: log

* del: log
  • Loading branch information
song-xiao-lin authored Nov 8, 2024
1 parent 40fc0ca commit 5872786
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 19 deletions.
1 change: 1 addition & 0 deletions app/protos/grpc.proto
Original file line number Diff line number Diff line change
Expand Up @@ -1203,6 +1203,7 @@ message GlobalNetworkConfig {

uint64 MinTlsVersion = 21;
uint64 MaxTlsVersion = 22;
uint64 MaxContentLength = 23;
}

message AuthInfo {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ export interface GlobalNetworkConfig {

MinTlsVersion: number
MaxTlsVersion: number
MaxContentLength: number | string
}

export interface ThirdPartyApplicationConfig {
Expand Down Expand Up @@ -146,8 +147,9 @@ export const defaultParams: GlobalNetworkConfig = {
IncludePluginScanURIs: [],
DbSaveSync: false,
CallPluginTimeout: 60,
MinTlsVersion:0x300,
MaxTlsVersion:0x304
MinTlsVersion: 0x300,
MaxTlsVersion: 0x304,
MaxContentLength: 10
}

export const ConfigNetworkPage: React.FC<ConfigNetworkPageProp> = (props) => {
Expand Down Expand Up @@ -207,7 +209,12 @@ export const ConfigNetworkPage: React.FC<ConfigNetworkPageProp> = (props) => {
setCertificateParams(newArr)
currentIndex.current = ClientCertificates.length
}
setParams((v) => ({...v, ...rsp, DisallowDomain: rsp.DisallowDomain.filter((item) => item)}))
setParams((v) => ({
...v,
...rsp,
DisallowDomain: rsp.DisallowDomain.filter((item) => item),
MaxContentLength: +rsp.MaxContentLength / (1024 * 1024) || 10
}))
setLoading(false)
})
})
Expand Down Expand Up @@ -261,8 +268,11 @@ export const ConfigNetworkPage: React.FC<ConfigNetworkPageProp> = (props) => {
})

const ipcSubmit = useMemoizedFn((params: GlobalNetworkConfig, isNtml?: boolean) => {
console.log("SetGlobalNetworkConfig", params)
ipcRenderer.invoke("SetGlobalNetworkConfig", params).then(() => {
const realParams: GlobalNetworkConfig = {
...params,
MaxContentLength: +params.MaxContentLength * 1024 * 1024
}
ipcRenderer.invoke("SetGlobalNetworkConfig", realParams).then(() => {
yakitInfo("更新配置成功")
update()
if (isNtml) setVisible(false)
Expand Down Expand Up @@ -569,7 +579,9 @@ export const ConfigNetworkPage: React.FC<ConfigNetworkPageProp> = (props) => {
showUploadList={false}
beforeUpload={(file) => onCertificate(file)}
>
<YakitButton type={"outline2"}>添加 TLS 客户端证书(双向认证)</YakitButton>
<YakitButton type={"outline2"}>
添加 TLS 客户端证书(双向认证)
</YakitButton>
</Upload>
{certificateList}
</Form.Item>
Expand All @@ -587,37 +599,36 @@ export const ConfigNetworkPage: React.FC<ConfigNetworkPageProp> = (props) => {
)}
<Form.Item label={"客户端tls版本支持"}>
<Slider
style={{width:'33%'}}
style={{width: "33%"}}
range
dots
value={[params.MinTlsVersion, params.MaxTlsVersion]}
onChange={(value)=>{
if (value.length==2) {
setParams({...params, MinTlsVersion:value[0],MaxTlsVersion: value[1]})
onChange={(value) => {
if (value.length == 2) {
setParams({...params, MinTlsVersion: value[0], MaxTlsVersion: value[1]})
}
}}
min={0x300}
max={0x304}
tipFormatter={(value)=>{
switch(value){
tipFormatter={(value) => {
switch (value) {
case 0x300:
return "SSLv3"
case 0x301 :
case 0x301:
return "TLS 1.0"
case 0x302:
return "TLS 1.1"
case 0x303:
return "TLS 1.2"
case 0x304:
return "TLS 1.3"
return "TLS 1.3"
default:
return value
return value
}
}}

/>
</Form.Item>

<Divider orientation={"left"} style={{marginTop: "0px"}}>
第三方应用配置
</Divider>
Expand Down Expand Up @@ -808,7 +819,6 @@ export const ConfigNetworkPage: React.FC<ConfigNetworkPageProp> = (props) => {
onChange={(e) => {
setParams({...params, CallPluginTimeout: e as number})
}}

/>
</Form.Item>
<Form.Item label={"免配置启动路径"}>
Expand Down Expand Up @@ -858,6 +868,45 @@ export const ConfigNetworkPage: React.FC<ConfigNetworkPageProp> = (props) => {
onChange={(val) => setParams({...params, DbSaveSync: val})}
/>
</Form.Item>
<Form.Item
label={"转储数据包大小"}
tooltip='超过设置大小的数据包会转储为文件,不会直接入库'
labelCol={{span: 5}}
wrapperCol={{span: 2}}
>
<YakitInput
suffix='M'
size='small'
value={params.MaxContentLength}
onChange={(e) => {
let value = e.target.value.replace(/\D/g, "")
if (value.length > 1 && value.startsWith("0")) {
value = value.replace(/^0+/, "")
}
setParams({...params, MaxContentLength: value})
}}
onKeyDown={(e) => {
if (e.key === "Enter") {
let value = parseInt(params.MaxContentLength + "" || "0", 10)
if (!value || value === 0) {
value = 10
} else if (value > 50) {
value = 50
}
setParams({...params, MaxContentLength: value})
}
}}
onBlur={() => {
let value = parseInt(params.MaxContentLength + "" || "0", 10)
if (!value || value === 0) {
value = 10
} else if (value > 50) {
value = 50
}
setParams({...params, MaxContentLength: value})
}}
/>
</Form.Item>
<Divider orientation={"left"} style={{marginTop: "0px"}}>
SYN 扫描网卡配置
</Divider>
Expand Down
1 change: 0 additions & 1 deletion app/renderer/src/main/src/pages/fuzzer/HTTPFuzzerPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1108,7 +1108,6 @@ const HTTPFuzzerPage: React.FC<HTTPFuzzerPageProp> = (props) => {
? `color-opacity-bg-${data.HitColor} color-text-${data.HitColor} color-font-weight-${data.HitColor}`
: ""
} as FuzzerResponse

// 设置第一个 response
if (getFirstResponse().RequestRaw.length === 0) {
setFirstResponse(r)
Expand Down

0 comments on commit 5872786

Please sign in to comment.